当动态生成javascript对象的密钥时,gulp会中断。

问题描述 投票:0回答:1

当我创建javascript对象的动态键时,它会破坏gulp缩小过程。

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

我可以使用哪种其他语法?

javascript gulp
1个回答
1
投票

问题是您在对象文字中使用变量(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

© www.soinside.com 2019 - 2024. All rights reserved.