在Ember中使用ES6类时出现意外的令牌

时间:2018-09-23 21:42:06

标签: ember.js ember-cli

我正在尝试使用余烬装饰器,但甚至无法编译类中的字段。没有字段的类很好,但是只要有字段,我都会收到此错误:

Build Error (broccoli-persistent-filter:Babel > [Babel: l3utils])
l3utils/utils/misc-utils.js: Unexpected token (70:9)

  68 | 
  69 | class TestField extends EmberObject{
> 70 |   isField=true;
     |          ^
  71 |   qKey=null;
  72 |   _value=null;

如果我只是将其注释掉,那么我在@computed上会收到相同的错误,因此它看起来像通天塔吗?陪伴?配置为完全解析语法。这个项目有很多不足之处,但我真的很想继续。

有人对在哪里寻找可能错误的版本或配置有任何想法吗?我正在使用Ember 3.3。以下是package.json中一些相关的版本:

"devDependencies": {
    "@ember-decorators/babel-transforms": "^2.1.1",
    "babel-eslint": "^8.2.6",
    "broccoli-asset-rev": "^2.7.0",
    "ember-ajax": "^3.0.0",
    "ember-cli": "~3.3.0",
    "ember-cli-babel": "^6.17.2",
    "ember-cli-dependency-checker": "^2.0.0",
    "ember-cli-eslint": "^4.2.1",

我真的不明白int .eslint.js文件的内容。我尽量不要愚弄这些东西,以使其尽可能地具有香草味,但是看起来很奇怪:

module.exports = {
 root: true,
 parser: 'babel-eslint',
 parserOptions: {
  ecmaVersion: 6,
  sourceType: 'module'
 },
 plugins: [
 'ember'
 ],
 extends: [
  'eslint:recommended',
  'plugin:ember/recommended'
 ],
 env: {
  browser: true
 },
 rules: {
 }, ... and so on

我尝试将ecmaVersion更改为不同的设置,并且即使我将其更改为无意义的值,它似乎也无济于事。我什至不知道在哪里看,因为它不会产生任何配置错误-只是语法错误。

编辑:如果我创建一个新项目,那么在该项目中一切正常。我已经比较了eslint和package.json,找不到任何重要的差异

1 个答案:

答案 0 :(得分:0)

事实证明,我实际上正在编辑的代码是在我的一个附件中。您必须将@ ember-decorators / babel-transforms和ember-decorators添加到插件的package.json的dependencies部分中。这必须手动完成。

从余烬装饰者那里看到这个问题: https://github.com/ember-decorators/ember-decorators/issues/134