动态生成javascript对象的键时,gulp会中断。

动态生成javascript对象的键时,gulp会中断。,javascript,gulp,Javascript,Gulp,当我创建javascript对象的动态键时,它打破了吞咽缩小过程 var a = "custome_name" var b = {[a]:"myName"} // {custome_name: "myName"} - works fine but breaks in gulp minification task. 我还可以使用什么其他语法 问题在于,在对象文本中使用变量(a)作为属性名 虽然这对ES6有效,但不适用于ES5语法。您正在使用的Gulp minifier(大概)不支持ES6语法的

当我创建javascript对象的动态键时,它打破了吞咽缩小过程

var a = "custome_name"
var b = {[a]:"myName"}
// {custome_name: "myName"} - works fine but breaks in gulp minification task. 

我还可以使用什么其他语法

问题在于,在对象文本中使用变量(
a
)作为属性名

虽然这对ES6有效,但不适用于ES5语法。您正在使用的Gulp minifier(大概)不支持ES6语法的缩略

如果您不想使用transpiler之类的工具将代码从ES6转换为ES5,可以重写代码以解决以下问题:

var a = "custome_name"
var b = {}
b[a] = "myName"
与其直接使用动态键创建对象,不如先创建一个空对象,然后使用动态键和括号将值指定给该对象


→ 请参阅相关问题:

我认为问题在于动态键是ES6语法。压缩后的Gulp(大概是Uglify2)只能压缩ES5代码。您必须在缩小之前传输代码,例如使用Babelwhat是ES5语法,我可以使用它为js对象创建动态密钥?