webpack与handlebars-loader加载模板文件使用helpers问题

问题再现:

//-main.js 入口文件
//加载模板
var template = require("./template/table.tpl");

//数据
var a  = require("./js/a");
//处理函数helpers
Handlebars.registerHelper("stringify",function (_this) {
  return JSON.stringify(_this);
})

此时控制台提示找不到对应的registerHelper
找方案:
1.handerbars-helpers
实现了很多常用的处理函数,看样子不错。不支持webpack,也不想重新换轮子。

2.handlebars-loader配置
配置helperDir将你的helper编译至全局。
配置

    //-webpack.config.js 入口文件
    loaders: [{ 
            test: /\.tpl$/,
            loader: "handlebars-loader?helperDirs[]="+__dirname+"/src/helpers"
        }]

helpers

    //jsonParse.js
    module.exports = function (_this) {
        return JSON.stringify(_this);
    }

使用

   
{{#each pagedata}}

    {{@index}}
    {{powerPlant}}
    {{crew}}
    {{major}}
    {{sysName}}
    {{pointCode}}
    {{pointDesc}}
    {{company}}
    {{downRange}}
    {{upRange}}
    {{exceptionStartTime}}
    {{exceptionNum}}
    {{exceptionTotalTime}}
    {{exceptionMaximumDuration}}
 
{{/each}}

参考地址:
handerbars-loader issues
handlebars helper api

你可能感兴趣的:(webpack与handlebars-loader加载模板文件使用helpers问题)