我使用grunt.template.process()从index.tmpl文件汇编了一个index.html文件。
现在,我基本上有两种不同的构建:开发构建(未构建)和发布构建(缩小)。基于我通过grunt devel
或grunt release
传递给grunt的任务,我想在index.tmpl中更改要内联的脚本。现在,我手动完成,并根据我的需要取消注释相应的行。
index.tmpl:
<%
var ownJsFile = grunt.config('uglify').dist.dest;
//var ownJsFile = grunt.config('concat').dev.dest;
...
%>
但我宁愿有类似的东西:
if (TASK == 'release')
var ownJsFile = grunt.config('uglify').dist.dest;
else
var ownJsFile = grunt.config('concat').dev.dest;
但是如何在模板中获取TASK
?
答案 0 :(得分:1)
您可以将任意数据传递给grunt.template.process(template,{data:...})。例如,您可以使用grunt.task.current.name注入任务名称。这是一个例子:
https://gist.github.com/sheenobu/5722360
如果任务在release-task和devel-task下注册两次并不重要,只要我们不重复。也就是说,将模板行为绑定到任务名称并不是最好的。相反,您可以将minify = true或uglify = true传递给grunt.template.process。