Grunt uglify :奇怪的行为
Grunt uglify : Weird behavior
我不明白为什么 uglify 不想将 concat 字符串作为输入或输出...
这行得通:
uglify: {
dev_uglify_js: {
files: {
'my_file.min.js': ['my_file.js']
}
}
}
例如,这不起作用:
uglify: {
dev_uglify_js: {
files: {
'my'+'_file.min.js': ['my_file.js']
}
}
}
你知道为什么吗?
输出错误为"SyntaxError: Unexpected token".
这里真正感兴趣的是将时间戳连接到文件名。
但是只有 2 个字符串是行不通的,所以 ...
感谢您的帮助!
在 JavaScript 中,对象 key
不能动态地 声明 。这不是 grunt
或 uglify
的问题 - 这是语言限制。
myObject = { 'a' + 'b' : 'b' } // NOPE!
但是,任何对象 属性 都可以通过方括号访问。例如:
myObject = { 'banana': 'boat' }
myObject.banana // boat
myObject['banana'] // boat!
因此,您可以在创建对象后使用方括号语法添加属性。
myObject = {}
myObject[ 'a' + 'b' ] = 'b' // Yes
myObject.ab // b
Gruntfile 示例
在您的 Gruntfile 中,您一定会在某些时候调用 grunt.config.init
或 grunt.initConfig
之类的东西。这通常是在线完成的:
grunt.initConfig({
uglify: {} // properties ...
});
然而,initConfig
只是接收一个对象。在调用此函数之前,您可以根据需要对其进行定义和操作。因此,例如:
var config = { uglify: {} };
config.uglify['such'+'dynamic'+'very'+'smarts'] = {};
grunt.initConfig(config);
类似问题:
How do I create a dynamic key to be added to a JavaScript object variable
How do I add a property to a JavaScript object using a variable as the name?
我不明白为什么 uglify 不想将 concat 字符串作为输入或输出...
这行得通:
uglify: {
dev_uglify_js: {
files: {
'my_file.min.js': ['my_file.js']
}
}
}
例如,这不起作用:
uglify: {
dev_uglify_js: {
files: {
'my'+'_file.min.js': ['my_file.js']
}
}
}
你知道为什么吗? 输出错误为"SyntaxError: Unexpected token".
这里真正感兴趣的是将时间戳连接到文件名。 但是只有 2 个字符串是行不通的,所以 ...
感谢您的帮助!
在 JavaScript 中,对象 key
不能动态地 声明 。这不是 grunt
或 uglify
的问题 - 这是语言限制。
myObject = { 'a' + 'b' : 'b' } // NOPE!
但是,任何对象 属性 都可以通过方括号访问。例如:
myObject = { 'banana': 'boat' }
myObject.banana // boat
myObject['banana'] // boat!
因此,您可以在创建对象后使用方括号语法添加属性。
myObject = {}
myObject[ 'a' + 'b' ] = 'b' // Yes
myObject.ab // b
Gruntfile 示例
在您的 Gruntfile 中,您一定会在某些时候调用 grunt.config.init
或 grunt.initConfig
之类的东西。这通常是在线完成的:
grunt.initConfig({
uglify: {} // properties ...
});
然而,initConfig
只是接收一个对象。在调用此函数之前,您可以根据需要对其进行定义和操作。因此,例如:
var config = { uglify: {} };
config.uglify['such'+'dynamic'+'very'+'smarts'] = {};
grunt.initConfig(config);
类似问题:
How do I create a dynamic key to be added to a JavaScript object variable
How do I add a property to a JavaScript object using a variable as the name?