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

时间:2015-12-30 22:50:54

标签: javascript node.js heroku webpack

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

有什么建议吗?感谢

10 个答案:

答案 0 :(得分:38)

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

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

答案 1 :(得分:11)

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

babel-loader

不是

<强>巴布尔装载机

答案 2 :(得分:1)

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

$ npm install babel-loader --save

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

  

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

答案 3 :(得分:1)

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

我知道不是每个人都可以在不破坏环境的情况下升级所有依赖性,但是对我来说,添加运行yarn upgrade可以解决此错误。

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

答案 4 :(得分:0)

在某些情况下,当部署到生产环境(例如,使用Rails Webpacker)时,不会加载dev依赖项。因此,在devDependencies中使用babel-loader无法正常工作。

实际上,将babel-loader放置在dependencies中而不是devDependencies中是有道理的,因为它是在生产代码本身中使用的。 devDependencies中唯一应包含的软件包是在开发中运行的软件包,例如测试和短毛绒。

答案 5 :(得分:0)

我在 devDependencies 中拥有我的矿工,但它不起作用,我将其切换为 dependencies ,它终于工作了!

答案 6 :(得分:0)

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

答案 7 :(得分:0)

使用纱线2时,webpack 4无法解析装载器。或更新到webpack 5

我必须使用PnPify使其起作用。

yarn pnpify webpack

答案 8 :(得分:0)

Rails 6 应用程序上工作时,我遇到了类似的错误。

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

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

 for file in files:
        try:
            if file.endswith('.csv'):
                # converting source variable to str because shutil has some bugs
                shutil.move(str(source) + "/" + file, dest_fs01 / current_year_folder / current_year_month_folder)
                break
        except Exception as e:
            error = str(e)
    
    if len(error) > 0:
        # sending email notifying about error
        message4 = """From: <from@email.com>
    To: <to@email.com>
    Subject: Error
    
                
                """ + error
        smtpObj.sendmail(sender, receivers, message4)
    
    
    else:
        # sending email notifying about successful completion
        message3 = """From: <from@email.com>
    To: <to@email.com>
    Subject: Success
    

这是我的yarn upgrade 文件中的devDependencies

package.json

注意:我不必在devDependencies列表中包括Babel-loader节点程序包即可使用。

仅此而已。

我希望这会有所帮助

答案 9 :(得分:0)

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