与Webpack中的handlebars-loader一起使用时未编译为ES5的自定义帮助程序

时间:2019-03-02 14:43:03

标签: webpack ecmascript-6 handlebars.js loader transpiler

我注意到handlebars-loaderWebpack的行为异常。我有一个包含使用ES6语法编写的自定义帮助程序的文件夹。在我的最终输出中,这些助手没有被编译为ES5。

有人知道如何将自定义帮助程序编译为正确的ES5语法吗?

示例:

内部帮助程序目录(helpers/prettyPrint

import Handlebars from 'handlebars';
export default function (data) {
  return new Handlebars.SafeString(`<pre>${JSON.stringify(data, null, 2)}</pre>`);
}

Webpack配置:

{
  devtool: 'inline-source-map',
  mode: 'development',
  module: {
    rules: [
      { test: /\.js$/, loader: 'babel-loader' },
      {
        test: /\.hbs$/,
        exclude: /node_modules/,
        loader: 'handlebars-loader',
        options: {
          helperDirs: [
            path.join(__dirname, 'helpers')
          ],
          precompileOptions: {
            knownHelpersOnly: false
          }
        }
      }
    ]
  },
  node: {
    fs: 'empty'
  },
  resolve: {
    alias: {
      handlebars: 'handlebars/runtime'
    }
  }
}

0 个答案:

没有答案