У меня есть приложение Express, использующее шаблоны Pug и Parcel для моего упаковщика.Согласно Parcel docs , у меня может быть файл конфигурации, в котором хранятся мои локальные пользователи pug.config.js
, однако мне нужно динамически добавлять локальные объекты в мои шаблоны во время выполнения.Возможно ли это сделать?
Вот мои файлы:
index.pug
...
h1 #{isAuthenticated}
h1 #{env}
...
pug.config.js
module.exports = {
locals: {
env: process.env.NODE_ENV
}
}
app.js
const Bundler = require('parcel-bundler')
const bundler = new Bundler(path.resolve(__dirname, 'views/index.pug'))
app
.set('views', path.join(__dirname, 'views'))
.set('view engine', 'pug')
.use(function(req, res, next) {
res.locals.isAuthenticated = 'true'
next()
})
.use(bundler.middleware())
Здесь я пытаюсь установить локальные переменные isAuthenticated
на 'true'
, однако при рендерингеindex.pug
переменная пуста, между тем, env
var из моего файла pug.config.js
присутствует.
Теперь, если я попытаюсь отобразить страницу в моих функциях контроллера с помощью res.render('index', {isAuthenticated: 'true'})
переменной isAuthenticated
присутствует, однако env
пусто.
Мне интересно, что я что-то здесь упускаю или это работает как положено?