Gruntfile.js中的Javascript变量?

我正在维护一个广泛使用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中使用路径变量。 因为我有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对象属性名称