我有我的html的生产版本,我正在寻找编译我的(个人)模板并将它们放入html文件的prod版本。
到目前为止,concat非常适合构建单个模板文件,但我想采用如下代码:
<html>
<head></head>
<body>
{{templates}}
</body>
</html>
...然后将{{templates}}替换为concat'd模板文件中的源代码。我发现了一些可以替换的grunt插件,但是它们似乎都不允许我
答案 0 :(得分:3)
我最后写了一个多任务来处理它:
grunt.registerMultiTask('integrateTemplate', 'Integrates compiled templates into html file', function () {
var data = this.data,
path = require('path'),
src = grunt.file.read(data.src),
dest = grunt.template.process(data.dest),
templates = grunt.file.read(data.compiledTemplate),
out;
out = src.replace(/\{\{templates\}\}/g, templates);
grunt.file.write(dest, out);
grunt.log.writeln('Template integrated');
});
prod_template.html
看起来像这样:
<html>
<head>
</head>
<body>
{{templates}}
</body>
</html>
然后我用它来调用它:
integrateTemplate: {
main: {
compiledTemplate: '<%= templates.main.dest %>', // Compiled template src
src: 'prod_template.html',
dest: 'index.html'
}
}
不过,如果有更好的建议(我确定有),我很乐意听到。