Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从配置中获取var?_Javascript_Gruntjs - Fatal编程技术网

Javascript 从配置中获取var?

Javascript 从配置中获取var?,javascript,gruntjs,Javascript,Gruntjs,我有一个自定义任务: grunt.registerTask('testtask', 'Test Task', function() { .... 我呼吁违约: grunt.registerTask('default', ['testtask']); 但是我希望能够从任务内部的配置中获取一个var,这取决于任务是否由grunt或grunt deploy调用 因此,对于grunt,我需要在本地系统上获得一个路径变量,而在grunt部署上,我需要一个外部路径 因此,在任务内部,我希望能够调用类似这

我有一个自定义任务:

grunt.registerTask('testtask', 'Test Task', function() {
....
我呼吁违约:

grunt.registerTask('default', ['testtask']);
但是我希望能够从任务内部的配置中获取一个var,这取决于任务是否由grunt或grunt deploy调用

因此,对于grunt,我需要在本地系统上获得一个路径变量,而在grunt部署上,我需要一个外部路径


因此,在任务内部,我希望能够调用类似这样的.data.path,并且取决于是否调用了deploy,路径会有所不同。

Grunt公开了
this.name
,您可以使用它来检查具体调用了哪个任务。在下面的示例中,我创建了一个函数
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"

Grunt公开了
这个.name
,您可以使用它来检查具体调用了哪个任务。在下面的示例中,我创建了一个函数
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"