我有一个自定义任务:
grunt.registerTask('testtask', 'Test Task', function() {
....
我打电话给默认:
grunt.registerTask('default', ['testtask']);
但我希望能够在任务中从配置中获取var,这取决于grunt或grunt deploy调用该任务。
因此,对于grunt,我要在本地系统上获取路径var,并且在grunt部署上我想要一个外部路径。
因此,在任务中,我希望能够调用类似this.data.path的内容并依赖于是否调用deploy,路径会有所不同。
答案 0 :(得分:0)
Grunt公开buildTask()
,您可以使用它来检查专门调用的任务。在下面的示例中,我创建了一个函数default
,并将其分配给两个不同的任务deploy
和this.name
。在构建任务中,我根据deploy
是否匹配function buildTask() {
// if this.name matches 'deploy', set var path to 'foo/bar', else set to 'foo/baz'
var path = (this.name === 'deploy') ? 'foo/bar' : 'foo/baz';
// your code goes here
}
grunt.registerTask('default', buildTask); // path = "foo/baz"
grunt.registerTask('deploy', buildTask); // path = "foo/bar"
来使用三元运算符将路径设置为两个值之一:
var t = {
helpers: {
getName: function(){
//how do i preserve this or get the mbase object instance here...
//so i can for example do the following:
var self = this;//this is now helpers object, but how to get to base object?
return self.nickName + "...";
},
getTime: function(){
}
},
nickName: 'test'
}