当我创建javascript对象的动态键时,它会破坏gulp缩小过程。
var a = "custome_name"
var b = {[a]:"myName"}
// {custome_name: "myName"} - works fine but breaks in gulp minification task.
我可以使用哪种其他语法?
问题是您在对象文字中使用变量(a
)作为属性名称。
虽然这对ES6有效,但它不适用于ES5语法。你正在使用的Gulp minifier(大概是Uglify2)不支持缩小ES6语法。
如果你不想使用像Babel这样的转换器将代码从ES6转换为ES5,你可以重写代码来解决这个问题:
var a = "custome_name"
var b = {}
b[a] = "myName"
不是直接使用动态键创建对象,而是先创建一个空对象,然后可以使用动态键和括号将值赋值给它。
→参见相关问题:Using a Variable for a Key in a JavaScript Object Literal