25

我如何访问使用 express 设置的变量app.set(),例如


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

从指南中,我了解到我可以使用 访问相同的app.get(<key>)内容,但这是console.log(app.get('view engine')).

{ 路由器:
   { 应用程序:
      {堆栈:[对象],
        域:空,
        _events:[对象],
        _maxListeners: 10,
        _连接:0,
        连接:[Getter/Setter],
        allowHalfOpen:真,
        _句柄:空,
        httpAllowHalfOpen:假,
        缓存:{},
        设置:[对象],
        重定向:{},
        isCallbacks: {},
        _locals:[对象],
        动态视图助手:{},
        错误处理程序:[],
        路线: '/',
        路线:[循环],
        路由器:[Getter],
        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 岁,但它仍然是谷歌上弹出的第一个链接,所以我认为这可能是合适的。

你也可以这样设置你的变量

     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 回答
-3
app.set('view engine','hbs')
**All are correct:**
app.get('view engine')
app.locals.settings['view engine']
app.settings['view engine']
于 2017-11-13T04:56:10.983 回答