当我推送到heroku时,我正试图在我的package.json中的postinstall脚本上运行webpack但是我收到以下错误。
ERROR in Entry module not found: Error: Cannot resolve module 'babel-loader' in /tmp/build_6cb4b10367d9382367ab72f2e2f33118
当我在本地运行命令时,我没有遇到任何问题。下面是我的webpack配置 - 我尝试使用resolveLoader来修复解决问题,但无济于事?
var path = require('path');
var webpack = require('webpack');
var config = {
entry: path.resolve(__dirname, './app/main.js'),
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js'
},
module: {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader'
},
{
test: /\.less$/,
loader: 'style!css!less'
}]
},
resolve: {
extensions: ['', '.js', '.jsx', '.less'],
modulesDirectories: [
'node_modules'
]
},
resolveLoader: {
root: path.resolve(__dirname, 'node_modules')
},
plugins: [
new webpack.optimize.UglifyJsPlugin({minimize: true})
]
};
module.exports = config;
有什么建议吗?感谢
答案 0 :(得分:38)
我发现了原因。我的package.json中没有babel或babel-core。添加它们修复了错误。
"devDependencies": {
"babel": "^5.8.23",
"babel-core": "^5.0.0",
"babel-loader": "^5.3.2"
}
答案 1 :(得分:11)
在我的情况下,我在安装时错误拼写了装载程序,因此请确保安装
babel-loader
不是
<强>巴布尔装载机强>
答案 2 :(得分:1)
就我而言,我尝试了以下命令:
$ npm install babel-loader --save
并根据控制台的提示继续修复其余部分,并解决了该问题:
“在入口模块中找不到错误:错误:无法解析'babel-loader'”
答案 3 :(得分:1)
我正在使用yarn和webpacker进行rails + react项目。
我知道不是每个人都可以在不破坏环境的情况下升级所有依赖性,但是对我来说,添加运行yarn upgrade
可以解决此错误。
在我的@babel/core
配置中只有dependencies
,因为babel-loader
被包含为webpacker的依赖项。
答案 4 :(得分:0)
在某些情况下,当部署到生产环境(例如,使用Rails Webpacker)时,不会加载dev依赖项。因此,在devDependencies
中使用babel-loader无法正常工作。
实际上,将babel-loader放置在dependencies
中而不是devDependencies
中是有道理的,因为它是在生产代码本身中使用的。 devDependencies
中唯一应包含的软件包是在开发中运行的软件包,例如测试和短毛绒。
答案 5 :(得分:0)
我在 devDependencies 中拥有我的矿工,但它不起作用,我将其切换为 dependencies ,它终于工作了!
答案 6 :(得分:0)
我删除了yarn.lock和node_modules文件夹,然后在package.json中的devDependencies中省略了babel-loader,然后重新运行yarn即可。
答案 7 :(得分:0)
使用纱线2时,webpack 4无法解析装载器。或更新到webpack 5
我必须使用PnPify使其起作用。
yarn pnpify webpack
答案 8 :(得分:0)
在 Rails 6 应用程序上工作时,我遇到了类似的错误。
我认为问题在于 Babel-loader 节点软件包未正确安装,或者应用程序无法找到可执行文件。
我要做的就是通过运行以下命令来升级应用程序中的节点包:
for file in files:
try:
if file.endswith('.csv'):
# converting source variable to str because shutil has some bugs
shutil.move(str(source) + "/" + file, dest_fs01 / current_year_folder / current_year_month_folder)
break
except Exception as e:
error = str(e)
if len(error) > 0:
# sending email notifying about error
message4 = """From: <from@email.com>
To: <to@email.com>
Subject: Error
""" + error
smtpObj.sendmail(sender, receivers, message4)
else:
# sending email notifying about successful completion
message3 = """From: <from@email.com>
To: <to@email.com>
Subject: Success
这是我的yarn upgrade
文件中的devDependencies
:
package.json
注意:我不必在devDependencies列表中包括Babel-loader节点程序包即可使用。
仅此而已。
我希望这会有所帮助
答案 9 :(得分:0)
就我而言,react-scripts 将 babel-loader 作为依赖项导入。它工作了一段时间,因为它在 package-lock.json 中。如果您的 deps 中有 react-scripts,请尝试删除 node_modules、package-lock.json 并再次执行 npm install。