如何在express js中访问使用app.set()设置的variables

如何访问variables设置使用快递的app.set()例如

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

从指南,我明白,我可以使用app.get(<key>)访问相同,但这是console.log(app.get('view engine'))

 {路由器:
    {app:
       {stack:[Object],
         domain:null,
         _events:[Object],
         _maxListeners:10,
         _connections:0,
        连接:[Getter / Setter],
         allowHalfOpen:true,
         _handle:null,
         httpAllowHalfOpen:false,
        caching:{},
        设置:[对象],
        redirect:{},
         isCallbacks:{},
         _locals:[对象],
         dynamicViewHelpers:{},
         errorHandlers:[],
        路线:'/',
        路线:[圆形],
        路由器:[Getter],
         root:'C:\\ Users \\ Shahal \\ Works \\ App',
        楷模: {},
        扩展名:{},
         disconnectSchemas:[Function:disconnectSchemas],
        护照:[对象]},
     路线:{},
      params:{},
      _params:[],
     中间件:[function]}}

它们通过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']); 

我知道这是2岁,但它仍然是谷歌popup的第一个链接,所以我认为这可能是适当的。

你也可以像这样设置你的variables

  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. 
 app.set('view engine','hbs') **All are correct:** app.get('view engine') app.locals.settings['view engine'] app.settings['view engine']