flairon.js/uninon-将app.use()配置放在哪里
flatiron.js / union - where to put app.use() configuration?
以Union的一个简单例子为例,我想知道我可以把通常放在app.config中的配置代码放在哪里,比如passport.js:
app.configure(function() {
// Initialize Passport! Also use passport.session() middleware, to support
// persistent login sessions (recommended).
app.use(passport.initialize());
app.use(passport.session());
});
有什么想法吗?服务器和路由器不接受使用()。
Union似乎为此使用before
集合:
var server = union.createServer({
before: [
connect.session({ secret: 'keyboard cat' }), // for `passport.session()`
passport.initialize(),
passport.session(),
// etc.
]
});
来自"API"文档:
@option before {Array}
The `before` value is an array of middlewares, which are used to route and serve incoming
requests. For instance, in the example, `favicon` is a middleware which handles requests
for `/favicon.ico`.
Union支持通过before
属性连接中间件,正如前面其他人提到的那样。但是,union不处理应用程序配置;熨斗可以。然而,api与express明显不同。
例如,配置应用程序可能如下所示:
var path = require('path'),
flatiron = require('flatiron'),
app = flatiron.app,
plugins = flatiron.plugins,
connect = require('connect'), // most connect middlewares work with flatiron ootb
passport = require('passport');
// Use flatiron's http plugin (not the same as a middleware!)
app.use(plugins.http);
// configuration consists of key/value pairs, not of function blocks associated with
// certain "environments".
// Here's *a* way you can handle environment-based configs; there are others!
app.config.file(path.resolve(
__dirname,
'config',
(process.env.NODE_ENV || 'config') + '.json'
));
// Use our config to set the secret
app.http.before.push(connect.session({
secret: app.config.get('secret') || 'keyboard cat' //default
}))
app.http.before.push(passport.initialize());
app.http.before.push(passport.session());
我还没有尝试运行这个例子(我相信这里有更多的细节),但希望这能给你一个想法。
我刚刚构建了一个包装器来集成Passport.js和Flatiron.js。
https://npmjs.org/package/flatiron-passport
https://github.com/travist/flatiron-passport
请阅读README.md,了解如何使用它并将其应用于您的应用程序。
我已经在LocalStrategy上测试过了,但它应该适用于其他策略。
否则请告诉我。
相关文章:
- 在哪里使用名为“;冻结”;
- Ember.js-接口状态应该存储在哪里
- 在Redux中,我应该在哪里编写复杂的异步流
- 在哪里可以学习ECMAScript标准中尚未包含的JavaScript功能
- 在哪里可以找到RXUI Javascript'时间飞逝'实例
- Redux应用程序结构-在哪里放置服务/业务逻辑
- 在哪里可以找到'项目'在plothover函数中
- Javascript-在哪里放置常量,全局或本地
- Sequelize:这些方法应该驻留在哪里
- AJAX更新面板不;t工作.请帮我找出我错在哪里.
- 在哪里存储HTML模板以在Backbone.js中使用
- ForerunnerDB将其数据库保存在哪里
- 在哪里可以找到R-to-JavaScript编译器
- AngularJS 我应该在哪里设置或存储模块的配置
- ckeditor工具栏配置程序在哪里
- 我必须在哪里插入Keith Wood本地化的jQuery倒计时插件在Wordpress中的配置代码
- 我可以在哪里下载eclipse的基本服务器配置
- 烬在哪里放置数据的通用代码,如通知,用户配置文件在导航栏上
- 在哪里配置在Protractor上测试的文件
- RequireJs:在哪里放置模块/库的全局配置