模板
你可以使用任何 webpack 支持的 template-loader,因为 res.render
只是简单地插入字符串
下面例子的 webpack 完整配置,可以在 这里 查看
使用前,你应该安装 pug-loader
或 handlebars-loader
1.using pug #demo
因为 pug-loader 在 webpack3 使用有 bug(2017-10-22),所以你应该安装"pug-loader": "~2.2.1"
.
并在 loader 的配置后面加上 ?
,不然还是会报错
webpack config
module: {
rules: [
{
test: /\.pug$/,
loader: 'pug-loader?'
}
}
import pugTemplate from './autumn.pug'
export default function autumn (req, res, next) {
var { params, query, body } = req
res.render(pugTemplate(req))
}
2.using handlebars #demo
webpack config
module: {
rules: [
{
test: /\.hbs$/,
use: {
loader: 'handlebars-loader'
}
}
}
import hbsTemplate from './autumn.hbs'
export default function autumn (req, res, next) {
var { params, query, body } = req
// 你可以使用 handlebars 自定义 json helpers 来处理 json
res.render(hbsTemplate({
paramsStr: JSON.stringify(params),
queryStr: JSON.stringify(query),
bodyStr: JSON.stringify(body),
body: body
}))
}