Как заставить @ babel / plugin-offer-private-method работать в шаблоне веб-пакета vue.js? - PullRequest
0 голосов
/ 07 июня 2019

У меня есть приложение на основе шаблона веб-пакета vue.js.Мне нужно было использовать синтаксис приватных полей и приватных методов классов.Для этого я установил @ babel / plugin-offer-private-method ^ 7.4.4 и @ babel / core ^ 7.0.0.После установки пакетов я попытался собрать версию для разработки, но у меня появились следующие ошибки:

Версия веб-пакета: ^ 3.6.0, vue ^ 2.6.10, babel-core ^ 6.22.1, babel-preset-env ^ 1.3.2.


    ERROR in ./assets/main.js
    Module build failed: Error: Requires Babel "^7.0.0-0", but was loaded with "6.26.3". If you are sure you have a compatible version of @babel/core, it is likely that something in your build process is loading the wrong version. Inspect the stack trace of this error to look for the first entry that doesn't mention "@babel/core" or "babel-core" to see what is calling Babel.

1 Ответ

1 голос
/ 07 июня 2019

Похоже, вы загружаете @ babel / core @ 7.X.X с babel 6.

Другими словами, вы называете основной компилятор babel 7 с API-интерфейсом babel 6.

Выпустив babel 7, команда babel провела серьезную модернизацию, и она великолепна, но не совместима с ретро.

Ваш шаблон, вероятно, работал с babel 6, и вам нужен плагин babel 7. Итак, чтобы подвести итоги, вам нужно:

  • обновить все ваши зависимости от babel (cli, core, plugins, presets ...)
  • обновить конфигурацию babel
  • заменить устаревший
  • возможно, обновите ваш webpack babel loader или, по крайней мере, исправьте confpack

Я настоятельно рекомендую вам прочитать официальную документацию по обновлению: https://babeljs.io/docs/en/v7-migration Вы также можете обновить веб-пакет.

ура

...