Skip to content

应用设置与模板

应用设置

使用 app.set(name, value) 保存应用级配置,使用 app.get(name) 读取。配置值不应包含密钥;密钥从环境变量或密钥管理服务读取。

js
app.set('json spaces', process.env.NODE_ENV === 'development' ? 2 : 0)
app.set('trust proxy', 1)

const trustProxy = app.get('trust proxy')

trust proxy 决定 Express 是否信任反向代理传递的 X-Forwarded-* 请求头。只有代理链受控时才能开启,否则客户端可能伪造来源 IP 或协议。

模板引擎

服务端渲染 HTML 时,配置视图目录和模板引擎后可调用 res.render()。常用模板引擎包括 Pug、Handlebars 和 EJS。

js
app.set('views', './views')
app.set('view engine', 'pug')

app.get('/', (req, res) => {
  res.render('index', { title: '首页' })
})

模板数据默认应视为不可信输入,依赖模板引擎的转义机制,避免将未经处理的用户输入直接输出为 HTML。

基于 MIT 许可发布