decoratorsBeforeExport Ошибка при использовании dev-webpack dev - PullRequest
0 голосов
/ 28 января 2019

Я пытался преобразовать свой реактивный проект в электронное приложение.Поскольку проект связан с веб-пакетом, я начал использовать электронный веб-пакет для сборки.При запуске electron-webpack dev ни / main , ни / renderer не компилируются правильно.

Журналы консоли выдают ошибку плагина Decorator

The decorators plugin requires a 'decoratorsBeforeExport' option,
 whose value must be a boolean. If you want to use the 
legacy decorators semantics, you can set the 'legacy: true' option

Ооо, почему бы не выполнить это мудрое предложение ?.Затем я обновил все свои зависимости и обновил свой файл .babelrc для добавления опции decoratorsBeforeExport и legacy ( false и true соответственно)

"plugins": [
   ["@babel/plugin-proposal-decorators", {
     "decoratorsBeforeExport": false,
     "legacy": true,
   }],

Поскольку ошибка по-прежнему отображается после этого, я открываю папку plugin-proposal-decorators из _ / node_modules_ и добавляю журнал для параметров .Видимо, это не идентифицирует мой набор опций.Я попытался напрямую из конфигурации загрузчика webpack, но проблема все еще отображается.

Мой env

  • Узел: v11.2.0
  • Webpack: v4.29.0
  • @ babel / core: v7.0.0

1 Ответ

0 голосов
/ 09 июля 2019

Этот .babelrc работал для меня:

{
  "presets": [
    "@babel/preset-react",
    [ "@babel/preset-env", {
      "targets": {
        "browsers": [ "last 1 version" ]
      }
    } ]
  ],
  "plugins": [
    "@babel/plugin-proposal-object-rest-spread",
    ["@babel/plugin-proposal-decorators", { "legacy": true }],
    ["@babel/plugin-proposal-class-properties", { "loose" : true }]
  ]
}

Подумайте, как плагин decorators появился раньше class-properties.

Почему-то он не работал для меня вРежим legacy.Опция loose требуется, если decorators работает в режиме legacy, согласно официальным документам: https://babeljs.io/docs/en/next/babel-plugin-proposal-decorators.html

Также указывается:

В Babel 7, transform-decorators-legacy будет плагином по умолчанию в Stage-0.(Источник: https://babeljs.io/docs/en/babel-plugin-transform-decorators.html)

Подробнее: Babel 7 - преобразование декораторов не работает с babel-loader Простой ES7-декоратор с babel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...