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;
助言がありますか?ありがとう
理由がわかりました。 package.jsonにbabelまたはbabel-coreがありませんでした。追加してエラーを修正しました。
"devDependencies": {
"babel": "^5.8.23",
"babel-core": "^5.0.0",
"babel-loader": "^5.3.2"
}
私の場合、インストール中にローダーの綴りを間違えていたので、必ずインストールしてください
バベルローダー
ない
bable-loader
私の場合、次のコマンドを試しました。
$ npm install babel-loader --save
そして、コンソールからのリマインダーに基づいて残りを修正し続け、問題を修正しました:
「エントリモジュールのエラーが見つかりません:エラー: 'babel-loader'を解決できません」
Rails + reactプロジェクトに糸とウェブパッカーを使用しています。
誰もが物事を壊すことなくすべての依存関係をアップグレードできるわけではありませんが、実行中のyarn upgrade
を追加するとこのエラーが修正されました。
@babel/core
はwebpackerの依存関係として含まれているため、dependencies
構成内のbabel-loader
のみでした。
私はdevDependenciesで私のものを持っていましたが、機能しませんでした。dependenciesに切り替えて、ようやく機能しました
場合によっては、実稼働環境にデプロイするとき(たとえばRails Webpacker)で、dev依存関係がロードされないため、devDependencies
にbabel-loaderが機能しません。
実際、babel-loaderはdependencies
ではなくdevDependencies
に配置されるのが理にかなっています。これは、本番コード自体で使用されるためです。 devDependencies
にあるべきパッケージは、テストやリンターなど、開発中に実行されるパッケージのみです。
Yarn.lockおよびnode_modulesフォルダーを削除してから、package.jsonのdevDependenciesでbabel-loaderを省略してから、yarnを再実行すると動作します。