Kraken - PayPal公司的开源Node.js框架

Kraken - PayPal公司的开源Node.js框架

PayPal 是一项全球流行的网上支付服务,近期它发布了一款 Node.js Web 开发框架:Kraken。

Kraken 基于 grunt 和 Express,相比而言,它提供了更加稳健的功能合集,支持本地化、环境配置、更加注重应用程序安全等。这里解释下,Express 是 Node.js 的一个 MVC 开发框架,支持 jade 等多种模板,是目前 Node.js 上最流行的 Web 开发框架,通过提供一系列强大特性帮助开发者创建各种 Web 应用。

ITEYE上有介绍 http://www.iteye.com/news/28488-kraken-Node-js-web-framework-from-paypal

GitHub项目路径:https://github.com/PayPal/kraken-js


9 回复

Kraken - PayPal公司的开源Node.js框架

PayPal 是一项全球流行的网上支付服务,近期它发布了一款 Node.js Web 开发框架:Kraken。

Kraken 框架概述

Kraken 基于 Express 和 Grunt,相比传统的 Express 框架,它提供了更加稳健的功能集合,包括本地化、环境配置管理、以及更加强调的应用程序安全性。Express 是 Node.js 上非常流行的一个 MVC 开发框架,它支持多种模板引擎(如 Jade),并通过提供一系列强大的特性来帮助开发者创建各种 Web 应用。

Kraken 的核心功能

  1. 本地化支持: Kraken 提供了内置的国际化(i18n)支持,使得多语言应用开发变得更加简单。例如,你可以使用 locales 文件夹中的 .json 文件来定义不同语言的文本。

    // app.js
    var kraken = require('kraken-js');
    var app = module.exports = kraken();
    
    app.on('start', function () {
        console.log('Application started, listening on port %s', app.get('port'));
    });
    
    // locales/en.json
    {
        "hello": "Hello, world!"
    }
    
    // locales/zh-CN.json
    {
        "hello": "你好,世界!"
    }
    
  2. 环境配置管理: Kraken 可以轻松地处理不同环境(如开发、测试、生产)下的配置差异。这通常通过 config 目录中的 JSON 文件实现。

    // config/default.json
    {
        "port": 8000,
        "env": "development"
    }
    
    // config/production.json
    {
        "port": 80,
        "env": "production"
    }
    
  3. 安全性增强: Kraken 提供了一些安全相关的中间件,例如防止 XSS 攻击、CSRF 保护等。这些中间件可以帮助开发者更好地保护他们的应用。

    // app.js
    app.use(require('kraken-js').middleware({
        security: {
            xssProtection: true,
            csrfProtection: true
        }
    }));
    

Kraken 的优势

  • 灵活性:Kraken 提供了高度的可配置性,允许开发者根据需要调整框架的行为。
  • 社区支持:作为 PayPal 的产品,Kraken 有强大的社区支持和文档资源。
  • 集成性:Kraken 集成了许多有用的工具和服务,使得开发流程更加顺畅。

总结

Kraken 是一个由 PayPal 开发的开源 Node.js 框架,它在 Express 的基础上增加了许多实用的功能,特别适合那些需要处理多语言、复杂环境配置和高安全性要求的 Web 应用开发。如果你正在寻找一个强大的 Node.js 框架来构建你的下一个项目,Kraken 是一个值得考虑的选择。

更多关于 Kraken 的信息可以访问其 GitHub 项目页面:


今年,年初开源的…貌似,一下子又火起来了…

感觉例子少了些

ejs 不知道怎么使用国际化的数据…,楼主知道怎么用吗?

马克一下先-。 -

好好学习一下

现在版本在 0.0.1,路还很长,看好发展前景。

template engine 用的是 dustjs

Kraken 是由 PayPal 开发的一个基于 Node.js 的开源 Web 框架,它建立在 Express 基础之上,并提供了更多的功能来简化 Web 应用程序的开发。Kraken 提供了包括国际化(i18n)、环境配置、安全性增强等在内的高级特性。

Kraken 特点

  • 国际化:Kraken 支持多种语言的本地化。
  • 环境配置:可以轻松地根据不同的运行环境配置应用。
  • 安全性:内置了一些安全措施,帮助开发者构建更安全的应用。
  • 中间件:支持使用 Express 中间件。

示例代码

以下是一个简单的 Kraken 应用示例:

const kraken = require('kraken-js');
const express = require('express');

var options, app;

options = {
    onconfig: function (config, next) {
        // 在这里进行配置
        config.set('appName', 'My Awesome App');
        next(null, config);
    }
};

app = module.exports = express();
app.use(kraken(options));

app.on('start', function () {
    console.log('Application ready to serve requests.');
    console.log('Environment: %s', app.kraken.get('env:env'));
});

解释

  1. 引入 Kraken 和 Express

    const kraken = require('kraken-js');
    const express = require('express');
    
  2. 配置选项

    var options = {
        onconfig: function (config, next) {
            config.set('appName', 'My Awesome App');
            next(null, config);
        }
    };
    

    onconfig 函数用于设置配置项,例如应用名称。

  3. 初始化应用

    app = module.exports = express();
    app.use(kraken(options));
    

    使用 kraken-js 中间件初始化 Express 应用。

  4. 启动事件监听

    app.on('start', function () {
        console.log('Application ready to serve requests.');
        console.log('Environment: %s', app.kraken.get('env:env'));
    });
    

    当应用准备好接收请求时,会触发 start 事件,并输出应用名称和当前环境信息。

这个示例展示了如何快速搭建一个基于 Kraken 的简单 Node.js 应用。Kraken 还有很多其他强大的功能,例如支持中间件、路由、视图引擎等。你可以查阅 Kraken 的官方文档以了解更多详细信息和高级功能。

回到顶部