【发布时间】:2023-03-04 18:01:01
【问题描述】:
我有一个 Express 应用程序,它使用 Pug 模板和 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 时,变量为空,同时,我的 pug.config.js 文件中的 env 变量存在。
现在,如果我尝试使用 res.render('index', {isAuthenticated: 'true'}) 在控制器函数中呈现页面,则变量 isAuthenticated 现在存在,但 env 为空。
我想知道我是否在这里遗漏了什么,或者这是否按预期工作?
【问题讨论】:
标签: node.js express pug parceljs