25

app.set()たとえば、エクスプレスを使用して設定された変数にアクセスするにはどうすればよいですか


app.set('view engine','jade');
app.set('jsDirectory',/js/');

ガイドから、 を使用して同じにアクセスできることを理解していますapp.get(<key>)が、これは の出力ですconsole.log(app.get('view engine'))

{ルーター:
   { アプリ:
      { スタック: [オブジェクト],
        ドメイン: ヌル、
        _events: [オブジェクト],
        _maxListeners: 10,
        _接続: 0,
        接続: [ゲッター/セッター]、
        allowHalfOpen: 真、
        _ハンドル: null,
        httpAllowHalfOpen: 偽、
        キャッシュ: {}、
        設定:[オブジェクト]、
        リダイレクト: {},
        isCallbacks: {},
        _locals: [オブジェクト],
        dynamicViewHelpers: {},
        errorHandlers: [],
        ルート: '/',
        ルート: [循環]、
        ルーター:[ゲッター]、
        root: 'C:\\Users\\Shahal\\Works\\App',
        モデル: {}、
        拡張子: {}、
        disconnectSchemas: [関数: disconnectSchemas],
        パスポート: [オブジェクト] },
     ルート: {},
     パラメータ: {},
     _params: [],
     ミドルウェア: [関数] } }
4

3 に答える 3

38

それらは app.settings オブジェクトを通じて利用可能になります:

app.set('oneSetting', 'one');
app.set('twoSetting', 'two');
app.set('view engine','jade');

console.log(app.settings.oneSetting);
console.log(app.settings.twoSetting);
console.log(app.settings['view engine']);
于 2012-11-13T18:38:39.423 に答える
23

これが 2 年前のものであることはわかっていますが、まだ Google に表示される最初のリンクであるため、これが適切であると考えました。

そのように変数を設定することもできます

     app.set('port', 3000);

そして後でそれを取得します

     app.get('port');

私はこのアプローチの方が短く、より単純なので気に入っています。これは、 Express 4.x のドキュメントでも使用されている方法です。

    app.get(name)
    Returns the value of name app setting, where name is one of strings in the app settings table. 
于 2015-05-06T14:56:56.553 に答える