模板

#live demo #source code

你可以使用任何 webpack 支持的 template-loader,因为 res.render 只是简单地插入字符串

下面例子的 webpack 完整配置,可以在 这里 查看

使用前,你应该安装 pug-loaderhandlebars-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
  }))
}
上次更新: 2018-8-10 01:49:32