有没有办法使用Webpack
编译模板目录并存储在数组对象中?
说明:我现在正在使用把手模板列表。我使用handlebars compiler
中的gulp
预编译了模板列表。
gulp.src('client/src/templates/**/*.hbs')
.pipe(gulp_handlebars({
handlebars: handlebars,
compilerOptions:{
knownHelpers: helpers,
knownHelpersOnly:true}
}))
.pipe(wrap('Handlebars.template(<%= contents %>)'))
.pipe(declare({
namespace: 'appname.templates',
noRedeclare: true,
processName: function(filePath) {
return declare.processNameByPath(filePath.replace('client/src/templates/', ''));
}
}));
然后我会通过appname.templates
数组访问模板。它工作正常。
现在,我正在转向Webpack。如果我使用handlebars-loader, 它允许我按名称要求每个模板,如
var template = require("./file.handlebars");
有没有办法让一个目录中的所有模板都像
这样的数组var templates = require("./*.handlebars");
答案 0 :(得分:1)
我通常会转到您拥有模板的文件夹,并拥有_providerManager.ProviderMap
文件,例如:
templates/index.js
然后你可以这样做:
export templateA from './templateA.handlebars'
export templateB from './templateB.handlebars'
export templateC from './templateC.handlebars'
...
import * as templates from './templates'
是一个包含所有模板的对象。您也可以templates
按名称访问它们。