Express js设置在哪里?

在快速文档中,有一个名为settings的部分: http : //expressjs.com/api.html#app-settings

但我无法弄清楚究竟应该去哪里(作为一个函数?作为使用中间件或其他地方的字典?)

PS 我怎么去提出这些论点的东西 – 我需要看源?

你必须使用app.set

 app.set('name of setting', 'value'); 

有很多方法来pipe理configuration,但是这里是我写的关于它的博客文章: http : //www.chovy.com/node-js/managing-config-variables-inside-a-node-js-application/

基本的前提是你有一个每个环境的文件(比如config.development.js,config.production.js)和一个叫做config.global.js的文件,开发和生产文件只会覆盖你在全局中设置的任何东西根据那个环境的需要。

这里是基本的config / index.js文件,这将加载config.test.js文件,假设你的NODE_ENV = test(如果NODE_ENV未定义,我们将默认为'development'):

 var env = process.env.NODE_ENV || 'development' , cfg = require('./config.'+env); module.exports = cfg; 

接下来是config.test.js,它将包含config.global.js,然后根据需要覆盖它的json对象:

config.test.js:

 var config = require('./config.global'); config.env = 'test'; config.hostname = 'test.example'; config.mongo.db = 'example_test'; module.exports = config; 

config.global.js定义了所有的默认值:

 var config = module.exports = {}; config.env = 'development'; config.hostname = 'dev.example.com'; //mongo database config.mongo = {}; config.mongo.uri = process.env.MONGO_URI || 'localhost'; config.mongo.db = 'example_dev'; 

现在我们把它们全部包装起来,并用在我们的代码中…例如在模型中,你可以在./models/user.js中做这样的事情:

 var mongoose = require('mongoose') , cfg = require('../config') , db = mongoose.createConnection(cfg.mongo.uri, cfg.mongo.db); 

这就是它的一切。

您通常将它们放入特定的configuration块中:

 app.configure(function () { // ... }); 

你甚至可以使用命名块进行不同的configuration。

让快递为您创build一个应用程序,并看看它。 为此只需运行

 $ express --help 

在命令提示符处,看看它提供了什么。

PS:这回答你的两个问题;-)