В чем разница между установкой свойства в app.locals и вызовом app.set ()?

Я изучаю Express -и думаю о том, где лучше всего сохранять данные стиля конфигурации. Доступные параметры находятся либо в настройках app.locals, либо в app.set ()... поэтому:

app.locals({ config: {
    name: 'My App',
    domain: 'myapp.com',
    viewPath: __dirname+'/views',
    viewEngine: 'jade'
    port: 3000
} });

app.set('view engine', app.locals.config.viewEngine || 'jade');

Это также позволило бы мне использовать в своих представлениях следующее:

<title>#{config.name}</title> // <title>My App</title>

Или альтернативой является использование app.set вот так:

app.set('name', 'My App');
app.set('domain', 'myapp.com');

... а затем используйте это в представлении:

<title>#{settings.name}</title>

Я знаю, что оба метода работают, но я изо всех сил пытаюсь определить, какой из них лучше использовать. На данный момент я склоняюсь к использованию app.locals с дополнительным пространством имен «приложение», поскольку я считаю, что при использовании app.set будет меньше шансов конфликтов с будущими обновлениями и другими модулями.

20
задан Evan Carroll 18 December 2013 в 17:18
поделиться