【发布时间】:2017-08-04 12:13:03
【问题描述】:
我在尝试使用 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 中有以下开发依赖项:
"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"
},
我的 node 和 npm 版本是:
node 7.7.1
npm 4.4.1
我的操作系统是 macOS Sierra
此错误消息的来源可能是什么,我应该如何解决它。我尝试了很多教程和博客文章来寻找解决方案,但都没有奏效。
【问题讨论】:
-
你跑过
npm install对吧? -
是的,我做到了,我刚刚使用
yarn add *dependency* --dev创建了依赖项奇怪的事情:现在我删除了 node_modules 和 yarn.lock 然后运行yarn命令,现在它可以工作了。我仍然很好奇是什么导致了这个依赖问题,以便在将来避免它。 -
@AdamWolski 感谢您提出重新安装节点模块的想法,可能这是一个依赖问题,在我尝试过的其他
webpack 2设置中做了同样的事情并拥有同样的问题,这样它们也能正常工作。 -
我设法确定了这个错误的来源,很可能它与
webpack 2或babel无关,实际上它只在使用atom编辑器的term3包的终端时发生。不知何故,它没有正确安装 npm 模块。使用默认终端时,它可以工作 -
再次运行
npm install babel-loader -D
标签: javascript webpack babeljs webpack-2 babel-loader