当动态生成javascript对象的密钥时,gulp会中断。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当动态生成javascript对象的密钥时,gulp会中断。相关的知识,希望对你有一定的参考价值。
当我创建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
以上是关于当动态生成javascript对象的密钥时,gulp会中断。的主要内容,如果未能解决你的问题,请参考以下文章
仅当特定密钥对值与可迭代匹配时,才在 JSON 对象中获取多个 JSON 密钥对值
使用 javascript 访问动态生成的 HTML 元素的 id 时获取 null