Gruntfile.js中的Javascript变量?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (88)

我正在维护一个广泛使用Grunt的Web应用程序。我必须缩小,将我的html,css,js文件复制到不同时间的不同位置。所以为了简单起见,我在我的GruntFile.js中创建了一个简单的JavaScript变量,如下所示:

var path="C:/dist";

uglify: {
    options: {
       mangle: false
     },
     my_target: {
       files: {
        path+'/js/jsFile.js': ['src/js/jquery-1.10.2.min.js']
        }
     }          
}

当我建立这个我得到以下错误

>> SyntaxError: Unexpected token +

我无法在我的GruntFile.js中使用path变量。因为我有10个位置路径。

提问于
用户回答回答于

另一种方法是利用Grunt模板:

grunt.initConfig({
  path: 'C:/dist/',
  uglify: {
    options: {
      mangle: false
    },
    '<%= path %>js/jsFile.js': ['src/js/jquery-1.10.2.min.js']
  }          
});
用户回答回答于

JavaScript对象格式不允许将变量作为实际键:

path+'/js/jsFile.js'

这应该适合你:

var path = "C:/dist";

var files = {};
files[path+"/js/jsFile.js"] = ['src/js/jquery-1.10.2.min.js'];

//...
options: {
   mangle: false
 },
 my_target: {
   files: files
 }          

你可以在这里看到几个使用变量作为关键的例子:

如何从变量中设置JS对象属性名称

扫码关注云+社区

领取腾讯云代金券