从配置中获取var?

时间:2016-04-18 11:40:30

标签: javascript gruntjs

我有一个自定义任务:

grunt.registerTask('testtask', 'Test Task', function() {
....

我打电话给默认:

grunt.registerTask('default', ['testtask']);

但我希望能够在任务中从配置中获取var,这取决于grunt或grunt deploy调用该任务。

因此,对于grunt,我要在本地系统上获取路径var,并且在grunt部署上我想要一个外部路径。

因此,在任务中,我希望能够调用类似this.data.path的内容并依赖于是否调用deploy,路径会有所不同。

1 个答案:

答案 0 :(得分:0)

Grunt公开buildTask(),您可以使用它来检查专门调用的任务。在下面的示例中,我创建了一个函数default,并将其分配给两个不同的任务deploythis.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'
}