在快速文档中,有一个名为settings
的部分:
http://expressjs.com/api.html#app-settings
但我无法弄清楚到底应该去哪里(某些功能?作为使用中间件的字典?还是其他地方?)
P.S。 我将如何解决这些问题 - 我需要查看来源吗?
答案 0 :(得分:1)
有很多方法可以管理配置,但这是我写的关于它的博客文章: 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);
这就是它的全部内容。
答案 1 :(得分:0)
您通常将它们放入特定的配置块中:
app.configure(function () {
// ...
});
您甚至可以使用命名块来进行不同的配置。
让我们为您创建一个应用程序并查看它。为此,只需运行
$ express --help
在命令提示符下查看它提供的内容。
PS:这回答了你的两个问题; - )
答案 2 :(得分:0)
您必须使用app.set
:
app.set('name of setting', 'value');