Ошибка при использовании декораторов в js - PullRequest
0 голосов
/ 21 марта 2020

Я пытаюсь написать простой веб-компонент, используя LitElement. Когда я пытаюсь использовать:

 - @customElement('my-element')
 - @property()

Я получаю ошибку.

Поддержка экспериментального синтаксиса 'decorators-legacy' в настоящее время не включена.

Это как-то связано с babel?

import { LitElement, html } from 'lit-element';

@customElement('my-element')
class MyElement extends LitElement {
  render(){    
    return html`
      <!-- template content -->
      <p>A paragraph</p>
    `;
  }
}

1 Ответ

0 голосов
/ 12 апреля 2020
Декораторы

JS по-прежнему являются предложением , но их можно включить в Babel с помощью @babel/plugin-proposal-decorators. Поля класса также должны быть включены для использования декоратора @property.

Установите плагины:

$ npm i -d @babel/plugin-proposal-decorators @babel/plugin-proposal-class-properties

и добавьте их в свой .babelrc:

{
  "plugins": [
    ["@babel/plugin-proposal-decorators", {
      "legacy": true
    }],
    "@babel/plugin-proposal-class-properties"
  ]
}
...