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

qiu*_*tao 11 javascript node.js node-modules babeljs

这是我的目录结构:

????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
Run Code Online (Sandbox Code Playgroud)

demo/entry/index.js我有

import tap from '../../src/tap';
Run Code Online (Sandbox Code Playgroud)

编译时,babel会抛出错误

ERROR in ../src/tap.js
Module build failed: Error: Cannot find module 'core-js/library/fn/get-iterator'
Run Code Online (Sandbox Code Playgroud)

但是如果我像这样导入它就有效

import tap from './tap';
Run Code Online (Sandbox Code Playgroud)

该文件./tap.js../../src/tap是相同的.

是问题node_modules吗?因为在demo目录中,babel和其他任何东西都在node_modules,所以我可以import任何我喜欢的文件.但是src/tap.js没有像这样的父或兄弟目录node_modules,所以它会触发这个错误.

小智 5

我刚刚安装了 core-js 并且它起作用了。


Hri*_*mov 4

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

npm install babel-core babel-loader --save-dev
Run Code Online (Sandbox Code Playgroud)

您还需要更新您的.babelrc

{ 
    "presets" : ["es2015", "react"]
}
Run Code Online (Sandbox Code Playgroud)

这对我来说很有用。祝你好运 ;)