Babel编译错误:找不到模块core-js / library / fn / get-iterator

时间:2016-05-15 16:01:55

标签: node.js babeljs node-modules

这是我的目录结构:

├───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这样的父目录或兄弟目录,因此会触发此错误。

4 个答案:

答案 0 :(得分:2)

尝试将babel-loader和babel-core安装为dev-dependency:

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

您还需要更新.babelrc

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

对我有用。祝你好运;)

答案 1 :(得分:0)

也许你没有安装core-js。 我曾经遇到过这个问题。

  • 首先,删除node_modules目录内容
  • 其次,如果您已安装纱线
  • ,请执行yarn install
  • 第三,检查你的webpack版本和babel-loader版本,webpack 1.x必须与babel-loader 6.x相关

答案 2 :(得分:0)

更新为节点版本11.10.0(当前版本)对我有用。

答案 3 :(得分:-2)

我刚安装了core-js,它就起作用了。