【问题标题】:Error: Cannot resolve module 'babel-loader'错误:无法解析模块“babel-loader”
【发布时间】:2016-04-04 22:56:24
【问题描述】:

当我推送到 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;

有什么建议吗?谢谢

【问题讨论】:

  • 执行npm i babel-loader -Dnpm install babel-loader --save-dev重新安装babel-loader

标签: javascript node.js heroku webpack


【解决方案1】:

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

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

【讨论】:

  • 如果你在 package.json 中展示你的开发依赖项,你会得到很多赞,而不是下面的那个人 :-),
【解决方案2】:

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

babel-loader

不是

bable-loader

【讨论】:

  • 哈!非常感谢:)
  • 我写的是 babel-laoder 而不是 babel-loader
【解决方案3】:

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

$ npm install babel-loader --save

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

“找不到入口模块中的错误:错误:无法解析'babel-loader'”

【讨论】:

  • 好,这里是 js 的新手(尤其是 babel),不知道为什么 npm install babel-loader --save=dev 不起作用!
  • @khanna 它应该是 npm install babel-loader --save-dev 您在命令中添加了“=”而不是“-”
【解决方案4】:

在某些情况下,在部署到生产环境时(例如使用 Rails Webpacker),不会加载开发依赖项。所以在devDependencies 中使用 babel-loader 是行不通的。

事实上,将 babel-loader 放在 dependencies 中而不是 devDependencies 中是有道理的,因为它用于生产代码本身。唯一应该在 devDependencies 中的包是那些在开发中运行的包,例如测试和 linter。

【讨论】:

    【解决方案5】:

    我在 devDependencies 中有我的,但它不起作用,我将它切换到 dependencies,它终于起作用了!

    【讨论】:

      【解决方案6】:

      我删除了 yarn.lock 和 node_modules 文件夹,然后在 package.json 的 devDependencies 中省略了 babel-loader,然后我重新运行 yarn,它就可以工作了。

      【讨论】:

        【解决方案7】:

        我正在为 rails + react 项目使用 yarn 和 webpacker。

        我知道不是每个人都可以升级所有依赖项而不破坏任何东西,但对我来说,添加运行 yarn upgrade 修复了这个错误。

        我的dependencies 配置中只有@babel/core,因为babel-loader 包含在webpacker 的依赖项中。

        【讨论】:

        • 谢谢!这也是我遇到此错误的背景。
        【解决方案8】:

        使用 yarn 2 时,webpack 4 无法解析 loader。或更新到 webpack 5

        我必须使用 PnPify 才能使其工作。

        yarn pnpify webpack
        

        【讨论】:

          【解决方案9】:

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

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

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

          yarn upgrade
          

          这是我的devDependencies 在我的package.json 文件中:

          "devDependencies": {
              "webpack": "^4.43.0",
              "webpack-cli": "^3.3.12",
              "webpack-dev-server": "^3.11.0
          

          注意:我不必将 Babel-loader 节点包包含在 devDependencies 列表中即可工作。

          就是这样。

          我希望这会有所帮助

          【讨论】:

            【解决方案10】:

            在我的例子中,react-scripts 将 babel-loader 作为依赖项导入。它工作了一段时间,因为它在 package-lock.json 中。如果您的部门中有 react-scripts,请尝试删除 node_modules、package-lock.json 并再次执行 npm install。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2017-10-05
              • 2020-02-02
              • 2017-08-04
              • 2018-06-04
              • 2017-11-13
              • 2020-11-18
              • 2022-01-11
              • 2019-07-15
              相关资源
              最近更新 更多