yui 压缩器给出有效 javascript 语法的语法错误

yui compressor giving syntax error for valid javascript syntax

使用命令行工具 yuicompressor jar 压缩 js 文件时出现语法错误。

[ERROR] 1796:28:invalid property id

我有一个变量commentGroup。我想将其推送为 JSON 对象,值为 commentGroup as key。为此,我参考了这个 answer.

var commentGroup = 'owner';
var groupIndex= [];
groupIndex.push({[commentGroup]: 1}); // Error line 1796

为什么会提示 属性 id 无效?

我正在使用yuicompressor-2.4.7.jar

我已经在 JavaScript/CSS/HTML Compressor

上尝试了上面的代码

输出

{
  "message": "Unexpected token: name (commentGroup)",
  "filename": 0,
  "line": 3,
  "col": 18,
  "pos": 66
}

我觉得YUI压缩器看不懂{[commentGroup]: 1}

我得到了上述问题的解决方案,我需要声明临时变量,然后我将我的对象作为键放入该变量,然后推入数组。

var commentGroup = 'owner';
var aObject= {};
aObject[commentGroup]= 1;  
var groupIndex= [];
groupIndex.push(aObject);

那是因为你用的是ES6语法。 YUI Compressor 不支持 ES6 yet.There 的 open ticket here.