Подтвердить что ты не робот

Как получить доступ к переменным, установленным с помощью app.set() в express js

Как получить доступ к переменным, установленным с помощью выражения app.set(), например,


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

Из руководства я понимаю, что я могу получить доступ к тому же, используя app.get(<key>), но это вывод console.log(app.get('view engine')).

{ router:
   { app:
      { stack: [Object],
        domain: null,
        _events: [Object],
        _maxListeners: 10,
        _connections: 0,
        connections: [Getter/Setter],
        allowHalfOpen: true,
        _handle: null,
        httpAllowHalfOpen: false,
        cache: {},
        settings: [Object],
        redirects: {},
        isCallbacks: {},
        _locals: [Object],
        dynamicViewHelpers: {},
        errorHandlers: [],
        route: '/',
        routes: [Circular],
        router: [Getter],
        root: 'C:\\Users\\Shahal\\Works\\App',
        models: {},
        extensions: {},
        disconnectSchemas: [Function: disconnectSchemas],
        passport: [Object] },
     routes: {},
     params: {},
     _params: [],
     middleware: [Function] } }
4b9b3361

Ответ 1

Они становятся доступными через объект 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

Я знаю, что это 2 года, но это еще первая ссылка, которая появляется в Google, поэтому я подумал, что это может быть уместно.

Вы также можете настроить свою переменную

     app.set('port', 3000);

И позже получите его с помощью

     app.get('port');

Я предпочитаю этот подход, потому что он короче и более прямолинейный. Это также способ, которым они используются в Экспресс 4.x документации.

    app.get(name)
    Returns the value of name app setting, where name is one of strings in the app settings table. 

Ответ 3

app.set('view engine','hbs')
**All are correct:**
app.get('view engine')
app.locals.settings['view engine']
app.settings['view engine']