Express: разница между app.locals и app.set(), app.get()
Какая принципиальная разница между app.locals и app.set(), app.get() в плане хранения каких-либо данных приложения?
|
khusamov,
app.set(key, value) === app.locals.settings[key] = value т.е. в шаблонах обращение как settings.key, а если так app.locals.key = value, то в шаблонах обращаемся просто key |
Спасибо за ответ!
Не ясно, зачем нужно было создавать app.locals.settings со своими методами?.. |
Цитата:
http://expressjs.com/ru/4x/api.html#app.set |
то есть settings это скорее раздел переменных Express-а и его плагинов, а все остальное пользователь сам наполняет как хочет (а точнее все относящееся к сайту например название страницы/сайта)?
хотя они предлагают вот что app.set('title', 'My Site'); то есть бардак в общем-то)) |
khusamov,
Да, для глобальных переменных, которые можно будет использовать в каждом шаблоне, обычно пишут middleware, где объект response наполняют ими. Например app.use((req, res, next) => { res.locals.flo = baz; next() }) |
Нашел новую инфу для размышления.
Оказывается чтобы задать опцию для шаблонизатора достаточно прописать, например, такую команду app.locals.pretty = true; Не сказал бы что это логично, но как ни странно, работает... |
А так работает?
app.set('view options', { pretty: true }); Вообще, на самом деле должно быть что-то типо if (app.get('env') === 'development') { app.locals.pretty = true; } |
Цитата:
http://stackoverflow.com/questions/5...tml-in-express Цитата:
. |
Часовой пояс GMT +3, время: 14:48. |