Ошибка компиляции Babel: не удается найти модуль core-js/library/fn/get-iterator

Это моя структура каталогов:

├───demo
│   ├───entry
│   │   ├───index.js
│   │   ├───tap.js
│   │   └───util.js
│   ├───node_modules
│   ├───index.html
│   ├───package.json
│   └───webpack.config.js
├───src
│   ├───tap.js
│   └───util.js
├───index.js
└───package.json

В demo/entry/index.js у меня есть

import tap from '../../src/tap';

При компиляции этого, babel выдает ошибку

ERROR in ../src/tap.js
Module build failed: Error: Cannot find module 'core-js/library/fn/get-iterator'

Но он работает, если я импортирую как это

import tap from './tap';

Файлы ./tap.js и ../../src/tap совпадают.

Является ли проблема node_modules? Потому что в директории demo, babel и все остальное находится в node_modules, поэтому я могу import использовать любой файл. Но src/tap.js не имеет такого родительского или родственного каталога, такого как node_modules, поэтому он вызывает эту ошибку.

Ответ 1

Попробуйте установить babel-loader и babel-core как dev-dependency:

npm install babel-core babel-loader --save-dev

Также вам необходимо обновить .babelrc

{ 
    "presets" : ["es2015", "react"]
}

Это хорошо для меня. Удачи;)

Ответ 2

Я только что установил core-js и все заработало.

Ответ 3

Возможно, вы не установили core-js. Я привык встречать эту проблему.

  • Сначала удалите содержимое каталога node_modules
  • Во-вторых, выполните yarn install, если вы установили пряжу
  • В-третьих, проверьте свою версию webpack и версию babel-loader, webpack 1.x может быть связан с babel-loader 6.x

Ответ 4

Обновление до версии узла 11.10.0 (Текущая версия) работало для меня.