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

Posted

技术标签:

【中文标题】错误:无法解析模块“babel-loader”【英文标题】:Error: Cannot resolve module '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 【参考方案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。

【讨论】:

以上是关于错误:无法解析模块“babel-loader”的主要内容,如果未能解决你的问题,请参考以下文章

无法解析“babel-loader”

意外的令牌导入,babel-loader 不工作?

找不到模块:错误:无法解析模块“fs”

未找到模块:错误:无法解析 React-js?

导入节点模块时出现流错误“无法解析模块”

找不到模块:错误:无法解析模块“路由”