Laravel mix 4 Amcharts динамический импорт - PullRequest
0 голосов
/ 22 января 2019

Я использую Laravel Mix, но за кулисами он использует Webpack 4. Я не могу избавиться от этой ошибки, независимо от того, что я делаю.

ERROR in ./node_modules/@amcharts/amcharts4/.internal/core/export/Export.js 3215:14
Module parse failed: Unexpected token (3215:14)
You may need an appropriate loader to handle this file type.
|             return [4
|             /*yield*/
>             , import(
|             /* webpackChunkName: "canvg" */
|             "canvg")];
 @ ./node_modules/@amcharts/amcharts4/core.js 74:0-56 74:0-56
 @ ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/assets/js/modules/Reporting/components/index.vue?vue&type=script&lang=js&
 @ ./resources/assets/js/modules/Reporting/components/index.vue?vue&type=script&lang=js&
 @ ./resources/assets/js/modules/Reporting/components/index.vue
 @ ./resources/assets/js/routes.js
 @ ./resources/assets/js/app.js
 @ multi ./resources/assets/js/app.js ./resources/assets/less/app.less

Похоже, что Amchart выполняет динамический импорт, поэтому я установил@ babel / plugin-syntax-dynamic-import, но без помощи.Этот плагин не был установлен ранее, и Amcharts работал просто отлично.Вот все загруженные пакеты babel:

"devDependencies": {
  "@babel/cli": "^7.2.3",
  "@babel/core": "^7.2.2",
  "@babel/plugin-proposal-object-rest-spread": "^7.2.0",
  "@babel/plugin-syntax-dynamic-import": "^7.2.0",
  "@babel/preset-env": "^7.2.3",

А вот и мой .babelrc

{
  "presets": [
    "@babel/preset-env"
  ],
  "plugins": [
    "@babel/plugin-proposal-object-rest-spread",
    "@babel/plugin-syntax-dynamic-import"
  ]
}

Что я здесь не так делаю?Должен ли я компилировать node_modules / @ amcharts?Это не имеет никакого смысла, разве модули узлов не должны быть уже скомпилированы?

npm -v 6.4.1 node -v 10.14.1

1 Ответ

0 голосов
/ 31 января 2019

Проверьте версию веб-пакета, если она выше 4.28.4, вам не повезло.Сопровождающие Webpack теперь знают об этой проблеме, и следующая версия NPM должна решить эту проблему.Каким-то образом пакеты неправильно поднимаются в дереве NPM.Тем временем быстрое исправление, которое сработало для меня:

Удалите node_modules и уничтожьте файл блокировки

rm -fr node_modeles
rm -f package-lock.json

Обновите веб-пакет до последней известной рабочей версии (заблокируйте его там, чтобы вы могли запустить обновление npm для другихпакеты):

npm install webpack@4.28.4

Установите желудь 6.0, если ваш NPM не может его найти (это проблема с подъемом NPM)

npm install acorn@^6.0.0

Вам должно быть хорошо идти!

...