1

settingsExpress ドキュメントには、http : //expressjs.com/api.html#app-settingsというセクションがあります。

しかし、私は正確にどこに行くべきかを理解することはできません(いくつかの機能に?使用ミドルウェアの辞書として?または他の場所に?)

PSこれらのことを理解するにはどうすればよいですか-ソースを見る必要がありますか?

4

3 に答える 3

1

構成を管理するには多くの方法がありますが、これについて私が書いたブログ投稿があります: http://www.chovy.com/node-js/managing-config-variables-inside-a-node-js-application/

基本的な前提は、各環境 (つまり、config.development.js、config.production.js) 用のファイルがあり、config.global.js と呼ばれる他のすべてのファイル用に 1 つあるということです。開発ファイルと運用ファイルは、グローバルに設定したものを単純に上書きします。その環境のニーズに基づいています。

基本的な config/index.js ファイルは次のとおりです。これにより、NODE_ENV=test を想定して config.test.js ファイルが読み込まれます (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.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);

それだけです。

于 2013-02-24T09:51:31.257 に答える
0

使用する必要がありますapp.set

app.set('name of setting', 'value');
于 2013-02-24T15:07:35.233 に答える
0

通常、それらを特定の構成ブロックに入れます。

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

さまざまな構成を持つために名前付きブロックを使用することもできます。

Express にアプリケーションを作成して見てもらいましょう。そのためには、単に実行します

$ express --help

コマンドプロンプトで、それが提供するものを確認してください。

PS:これはあなたの両方の質問に答えます;-)

于 2013-02-24T09:24:44.320 に答える