2016-09-21 5 views
0

私はapp.set()メソッドが名前の設定値であることを知っています。したがって、app.get()は名前で値を取得できます。それに応じて、 'view engine'を 'ejs'に設定すると、app.get( 'view engine')はどこにありますか?ない場合は、app.set( 'ビューエンジン'、 'ejs')の仕事量はどのくらいですか?Express:app.set( 'ビューエンジン'、 'ejs')が内部でどのように実行されたか

このウィザードの質問にお返事ありがとうございます。

+0

どのようにどこにでもnconfにを使用して行われ、その後、アクセスされたconfigオブジェクトを持っているでしょうか? – num8er

答えて

0

あなたが期待どおりに動作:どのように動作

expressjs view engine

を?

チェックこの:https://github.com/expressjs/express/blob/master/lib/application.js#L336ラインから

:336

/** 
* Assign `setting` to `val`, or return `setting`'s value. 
* 
* app.set('foo', 'bar'); 
* app.get('foo'); 
* // => "bar" 
* 
* Mounted servers inherit their parent server's settings. 
* 
* @param {String} setting 
* @param {*} [val] 
* @return {Server} for chaining 
* @public 
*/ 

app.set = function set(setting, val) { 
    if (arguments.length === 1) { 
    // app.get(setting) 
    return this.settings[setting]; 
    } 

    debug('set "%s" to %o', setting, val); 

    // set value 
    this.settings[setting] = val; 

    // trigger matched settings 
    switch (setting) { 
    case 'etag': 
     this.set('etag fn', compileETag(val)); 
     break; 
    case 'query parser': 
     this.set('query parser fn', compileQueryParser(val)); 
     break; 
    case 'trust proxy': 
     this.set('trust proxy fn', compileTrust(val)); 

     // trust proxy inherit back-compat 
     Object.defineProperty(this.settings, trustProxyDefaultSymbol, { 
     configurable: true, 
     value: false 
     }); 

     break; 
    } 

    return this; 
}; 
+1

ソースコードと画像をありがとう。 – suoyong

関連する問題