web-dev-qa-db-fra.com

Erreur de compilation Babel: impossible de trouver le module core-js/bibliothèque/fn/get-iterator

Ceci est ma structure de répertoire:

├───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

Dans demo/entry/index.js j'ai 

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

Lors de la compilation, babel génère une erreur 

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

Mais ça marche si j'importe comme ça 

import tap from './tap';

Le fichier ./tap.js et ../../src/tap sont les mêmes.

Le problème est-il node_modules? Parce que dans le répertoire demo, Babel et tout le reste sont en node_modules, je peux donc import n'importe quel fichier que je préfère Mais src/tap.js n'a pas de répertoire parent ou frère similaire à node_modules, il déclenchera donc cette erreur.

11
qiuyuntao

Essayez d’installer babel-loader et babel-core en tant que dev-dependency:

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

Aussi, vous devez mettre à jour votre .babelrc

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

Cela fonctionne bien pour moi. Bonne chance ;)

2
Hristo Eftimov

Peut-être que vous n'avez pas installé core-js . Je rencontrais ce problème auparavant.

  • Tout d'abord, supprimez le contenu de votre répertoire node_modules
  • Deuxièmement, exécutez yarn install si vous aviez installé le fil
  • Troisièmement, vérifiez la version de votre webpack et celle de babel-loader. Webpack 1.x peut être associé à babel-loader 6.x
0
lebron