Синтаксическая ошибка ES6 с babel-loader (веб-пакет)

Попытка сделать простой график с использованием шторм-реактивных диаграмм

Не совсем уверен, как решить эту проблему.
Ошибка:

ERROR in ./src/diagram.jsx
Module build failed: SyntaxError: Unexpected token, expected , (31:9)

  29 |   // link the ports
  30 |   let link1 = port1.link(port2);
> 31 |   (link1 as DefaultLinkModel).addLabel("Hello World!");
     |          ^
  32 | 
  33 |   //4) add the models to the root graph
  34 |   model.addAll(node1, node2, link1);

diagram.jsx точно так же, как это

Я пропускаю какой-то причудливый синтаксис es6 здесь или как?
Вот так выглядит мой webpack.config.

1 ответ

Решение

as Ключевое слово происходит от TypeScript, а не ES2015. Он используется для приведения переменных из одного типа в другой - это не имеет смысла в простом JavaScript, который не имеет типов во время компиляции!

Если вы хотите использовать TypeScript в своем приложении, вам понадобится загрузчик TypeScript Webpack (например, ts-loader или же awesome-typescript-loader) и переименовать файл в .tsx расширение.

Кроме того, если вы не заинтересованы в использовании TypeScript, вы должны просто иметь возможность заменить (link1 as DefaultLinkModel) с link1 и чтобы все работало, как ожидалось.

Другие вопросы по тегам