尝试使用babel设置webpack 2时遇到以下错误消息:
ERROR in Entry module not found: Error: Can't resolve 'babel-loader' in 'path_to_project_dir'
webpack 2文档后面的配置文件:
const path = require('path')
const config = {
entry: './src/index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js'
},
module: {
rules: [
{
test: /\.jsx?$/,
exclude: [
path.resolve(__dirname, 'node_modules')
],
loader: 'babel-loader',
options: {
presets: ["es2015"]
},
}
]
},
resolve: {
modules: [
'node_modules',
path.resolve(__dirname, 'src')
],
extensions: ['.js', '.json', '.jsx'],
}
}
module.exports = config
我的packages.json中有以下dev依赖项:
"devDependencies": {
"babel-core": "^6.24.0",
"babel-loader": "^6.4.0",
"babel-preset-es2015": "^6.24.0",
"path": "^0.12.7",
"webpack": "^2.2.1",
"webpack-dev-server": "^2.4.1"
},
我的节点和npm版本是:
node 7.7.1
npm 4.4.1
我的操作系统是macOS Sierra
可能是此错误消息的来源,我应该如何解决它。我尝试了很多教程和博客文章来找到解决方案,但没有一个能够解决问题。
答案 0 :(得分:2)
我调查了node_modules
目录,发现很多依赖项丢失了。我删除了node_modules
目录和yarn.lock
文件,并从新的终端窗口运行了yarn
命令。
它工作,安装了所有依赖项,webpack 2&巴贝尔按原样工作。
最初我用atom editor's term3 terminal
安装了npm模块,
我尝试在那里重新安装,但它最初产生了缺少的依赖。
因此错误是由原子的term3包
引起的解决方案:使用标准终端,并且DON&#T; T使用由term3包原子提供的终端