如何在grunt .tmpl文件中找出当前的构建任务

时间:2013-05-28 18:54:55

标签: javascript build task gruntjs

我使用grunt.template.process()从index.tmpl文件汇编了一个index.html文件。

现在,我基本上有两种不同的构建:开发构建(未构建)和发布构建(缩小)。基于我通过grunt develgrunt 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

1 个答案:

答案 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。