在快遞文檔,有一個叫settings
部分: http://expressjs.com/api.html#app-settings快遞js設置在哪裏?
但我想不通的地方正是應該去(一些功能的字典,在使用中間件或別的地方???)
PS 我會如何處理這些論文的東西 - 我需要看源代碼嗎?
在快遞文檔,有一個叫settings
部分: http://expressjs.com/api.html#app-settings快遞js設置在哪裏?
但我想不通的地方正是應該去(一些功能的字典,在使用中間件或別的地方???)
PS 我會如何處理這些論文的東西 - 我需要看源代碼嗎?
你必須使用app.set
:
app.set('name of setting', 'value');
你通常把它們放在一個特定的配置塊:
app.configure(function() {
// ...
});
你甚至可以使用命名塊具有不同的配置。
讓快遞爲你創建一個應用程序,並看看它。對於這個簡單的運行
$ express --help
在命令提示符,看看它提供了什麼。
PS:這回答您的兩個問題;-)
它似乎已被廢棄:http://expressjs.com/api.html#app.configure – drozzy 2013-02-24 09:36:54
有管理配置的方法很多,但這裏有一個博客帖子我寫這件事: http://www.chovy.com/node-js/managing-config-variables-inside-a-node-js-application/
的基本前提是你有一個每個環境(比如config.development.js,config.production.js)都有一個文件,另一個叫做config.global.js,開發和生產文件會根據環境的需要簡單地覆蓋你在全局設置的任何東西。
這裏是基本的配置/ index.js文件,這將加載config.test.js文件假設你NODE_ENV =測試(我們將默認爲「發展」,如果沒有定義NODE_ENV):
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.glo它定義了所有默認值bal.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);
這就是它的全部。
好的博客文章/答案。 – scaryguy 2015-02-03 23:36:24
是我還是沒這裏每個人都忘了閱讀實際問題嗎? – Pickels 2013-02-24 15:06:57