主题
应用设置与模板
应用设置
使用 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。
