web-dev-qa-db-ja.com

エラー:モジュール 'babel-loader'を解決できません

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;

助言がありますか?ありがとう

19
Geraint

理由がわかりました。 package.jsonにbabelまたはbabel-coreがありませんでした。追加してエラーを修正しました。

  "devDependencies": {
    "babel": "^5.8.23",
    "babel-core": "^5.0.0",
    "babel-loader": "^5.3.2"
}
39
Geraint

私の場合、インストール中にローダーの綴りを間違えていたので、必ずインストールしてください

バベルローダー

ない

bable-loader

11
Prakash Tiwari

私の場合、次のコマンドを試しました。

$ npm install babel-loader --save

そして、コンソールからのリマインダーに基づいて残りを修正し続け、問題を修正しました:

「エントリモジュールのエラーが見つかりません:エラー: 'babel-loader'を解決できません」

2
Hailin Tan

Rails + reactプロジェクトに糸とウェブパッカーを使用しています。

誰もが物事を壊すことなくすべての依存関係をアップグレードできるわけではありませんが、実行中のyarn upgradeを追加するとこのエラーが修正されました。

@babel/coreはwebpackerの依存関係として含まれているため、dependencies構成内のbabel-loaderのみでした。

0
lucas

私はdevDependenciesで私のものを持っていましたが、機能しませんでした。dependenciesに切り替えて、ようやく機能しました

0
Gio

場合によっては、実稼働環境にデプロイするとき(たとえばRails Webpacker)で、dev依存関係がロードされないため、devDependenciesにbabel-loaderが機能しません。

実際、babel-loaderはdependenciesではなくdevDependenciesに配置されるのが理にかなっています。これは、本番コード自体で使用されるためです。 devDependenciesにあるべきパッケージは、テストやリンターなど、開発中に実行されるパッケージのみです。

0
Robin Daugherty

Yarn.lockおよびnode_modulesフォルダーを削除してから、package.jsonのdevDependenciesでbabel-loaderを省略してから、yarnを再実行すると動作します。

0
howdyhyber