错误:无法解析模块'babel-loader'

Ger*_*int 20 javascript heroku node.js webpack

当我推送到heroku时,我正试图在我的package.json中的postinstall脚本上运行webpack,但是我收到以下错误.

ERROR in Entry module not found: Error: Cannot resolve module 'babel-loader' in /tmp/build_6cb4b10367d9382367ab72f2e2f33118
Run Code Online (Sandbox Code Playgroud)

当我在本地运行命令时,我没有遇到任何问题.下面是我的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;
Run Code Online (Sandbox Code Playgroud)

有什么建议?谢谢

Ger*_*int 44

我发现了原因.我的package.json中没有babel或babel-core.添加它们修复了错误.

  "devDependencies": {
    "babel": "^5.8.23",
    "babel-core": "^5.0.0",
    "babel-loader": "^5.3.2"
}
Run Code Online (Sandbox Code Playgroud)

  • 如果你在package.json中显示你的dev依赖项,你会得到很多upvotes而不是下面的那个:-), (4认同)

Pra*_*ari 11

在我的情况下,我在安装时错误拼写了装载程序,所以请确保安装

巴贝尔装载机

巴布尔装载机

  • 哈!谢谢一堆:) (2认同)

luc*_*cas 6

我正在使用纱线和 webpacker 进行 Rails + React 项目。

我知道不是每个人都可以在不破坏东西的情况下升级所有依赖项,但对我来说,添加运行yarn upgrade修复了此错误。

这仅@babel/core在我的dependencies配置中,因为babel-loader它作为 webpacker 的依赖项包含在内。


Pro*_*ton 6

我在使用Rails 6应用程序时遇到了类似的错误。

我认为问题在于Babel-loader节点包未正确安装,或者应用程序无法找到可执行文件。

我所要做的就是通过运行以下命令来升级应用程序中的节点包:

yarn upgrade
Run Code Online (Sandbox Code Playgroud)

这是devDependencies我的文件中的内容package.json

"devDependencies": {
    "webpack": "^4.43.0",
    "webpack-cli": "^3.3.12",
    "webpack-dev-server": "^3.11.0
Run Code Online (Sandbox Code Playgroud)

注意:我不必将 Babel-loader 节点包包含在 devDependency 列表中才能正常工作。


小智 5

就我而言,我尝试了以下命令:

$ npm install babel-loader --save
Run Code Online (Sandbox Code Playgroud)

并根据控制台的提醒继续修复其余部分,并解决了问题:

“未找到输入模块中的错误:错误:无法解析‘babel-loader’”