Aurelia无法正确转载Set and Spread运算符

时间:2018-12-09 21:42:19

标签: javascript aurelia

我正在尝试使用aurelia从某些json数据生成一组唯一的组名列表。该代码在Chrome中使用普通的javascript可以工作,但是在Aurelia中运行时会引发错误。参见小提琴。

我遇到的错误是“ concat不是函数”。 babel或webpack似乎有问题。下面的代码是我在浏览器中看到的转译版本。

var groupList = new Set(jsonData.map(function (x) {
  return x.group.name;
})).concat(); //concat is not a function

这是我的代码:

let jsonData = [
  { index: '0', name: 'INCH', factor: '12', desc: '', magnitude: '1', group: {name: 'length'} },
  { index: '1', name: 'FOOT', factor: '3', desc: '', magnitude: '2', group: {name: 'length'} },
  { index: '2', name: 'YARD', factor: '3', desc: '', magnitude: '3', group: {name: 'length'} },
  { index: '6', name: 'SQ FOOT', factor: '3', desc: '', magnitude: '2', group: {name: 'area'} },
  { index: '7', name: 'SQ YARD', factor: '3', desc: '', magnitude: '3', group: {name: 'area'} }
];

createGroups();

function createGroups() {
  const groupList = [...new Set(jsonData.map(x => x.group.name))];
  debugger;
}

如果我在Babel网站上插入下面的代码,它将生成与我从Aurelia获得的代码完全不同的代码。以为我可能有一个旧版本的Babel,所以我更新到了最新版本,但仍然遇到相同的错误。有什么解决方法或解决方案吗?

const groupList = [...new Set(jsonData.map(x => x.group.name))];

JSFiddle:http://jsfiddle.net/chrisevich/e1v9rpg2/96/

1 个答案:

答案 0 :(得分:1)

'loose': false中设置babelrc.js可以解决此问题。