Неожиданный токен при использовании классов ES6 в Ember - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь поэкспериментировать с декораторами ember, но не могу даже скомпилировать поля в классах.Классы без полей хороши, но я получаю эту ошибку всякий раз, когда есть поле:

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, так что это просто некажись как бабел?eslint?настроен на синтаксический анализ синтаксиса вообще.В этом проекте много беспорядка, но я бы очень хотел его запустить.

У кого-нибудь есть идеи относительно того, где искать версии или конфигурации, которые могут быть неправильными?Я использую 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 голосов
/ 24 сентября 2018

Оказывается, морщина заключалась в том, что код, который я на самом деле редактировал, был в моем дополнении.Вы должны добавить @ ember-decorators / babel-transforms и ember-decorators в раздел зависимостей в package.json дополнения.Это должно быть сделано вручную.

Смотрите эту проблему от ember-decorators: https://github.com/ember-decorators/ember-decorators/issues/134

...