【问题标题】:Module build failed (from ./node_modules/babel-loader/lib/index.js):模块构建失败(来自 ./node_modules/babel-loader/lib/index.js):
【发布时间】:2021-04-17 18:52:30
【问题描述】:

好吧,我正在尝试创建一个反应应用程序并想使用简单的 walletconnect 包并尝试创建我的反应应用程序的构建文件,但是当我运行 webpack 命令来创建构建文件时出现模块错误我的应用程序。回溯如下:

 ERROR in ./frontend/src/index.js
Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error: Cannot find module '@babel/preset-core'
Require stack:
- C:\Users\AHMED\Dotesrow\dotescrow\node_modules\@babel\core\lib\config\files\plugins.js
- C:\Users\AHMED\Dotesrow\dotescrow\node_modules\@babel\core\lib\config\files\index.js
- C:\Users\AHMED\Dotesrow\dotescrow\node_modules\@babel\core\lib\index.js
- C:\Users\AHMED\Dotesrow\dotescrow\node_modules\babel-loader\lib\index.js
- C:\Users\AHMED\Dotesrow\dotescrow\node_modules\loader-runner\lib\loadLoader.js
- C:\Users\AHMED\Dotesrow\dotescrow\node_modules\loader-runner\lib\LoaderRunner.js
- C:\Users\AHMED\Dotesrow\dotescrow\node_modules\webpack\lib\NormalModule.js
- C:\Users\AHMED\Dotesrow\dotescrow\node_modules\webpack\lib\NormalModuleFactory.js
- C:\Users\AHMED\Dotesrow\dotescrow\node_modules\webpack\lib\Compiler.js
- C:\Users\AHMED\Dotesrow\dotescrow\node_modules\webpack\lib\webpack.js
- C:\Users\AHMED\Dotesrow\dotescrow\node_modules\webpack\lib\index.js
- C:\Users\AHMED\Dotesrow\dotescrow\node_modules\webpack-cli\lib\webpack-cli.js
- C:\Users\AHMED\Dotesrow\dotescrow\node_modules\webpack-cli\lib\bootstrap.js
- C:\Users\AHMED\Dotesrow\dotescrow\node_modules\webpack-cli\bin\cli.js
- C:\Users\AHMED\Dotesrow\dotescrow\node_modules\webpack\bin\webpack.js
- If you want to resolve "@babel/core", use "module:@babel/core"
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at resolve (C:\Users\AHMED\Dotesrow\dotescrow\node_modules\v8-compile-cache\v8-compile-cache.js:164:23)
    at resolveStandardizedName (C:\Users\AHMED\Dotesrow\dotescrow\node_modules\@babel\core\lib\config\files\plugins.js:100:7)
    at resolvePreset (C:\Users\AHMED\Dotesrow\dotescrow\node_modules\@babel\core\lib\config\files\plugins.js:48:10)
    at loadPreset (C:\Users\AHMED\Dotesrow\dotescrow\node_modules\@babel\core\lib\config\files\plugins.js:67:20)
    at createDescriptor (C:\Users\AHMED\Dotesrow\dotescrow\node_modules\@babel\core\lib\config\config-descriptors.js:154:9)
    at C:\Users\AHMED\Dotesrow\dotescrow\node_modules\@babel\core\lib\config\config-descriptors.js:109:50
    at Array.map (<anonymous>)
    at createDescriptors (C:\Users\AHMED\Dotesrow\dotescrow\node_modules\@babel\core\lib\config\config-descriptors.js:109:29)
    at createPresetDescriptors (C:\Users\AHMED\Dotesrow\dotescrow\node_modules\@babel\core\lib\config\config-descriptors.js:101:10)

webpack 5.13.0 compiled with 1 error in 1736 ms

babelrc

     {
    "presets": ["@babel/preset-env","@babel/preset-react","@babel/core"],
    "plugins": ["transform-class-properties"]
}

package.json

{
  "name": "dotescrow",
  "version": "1.0.0",
  "main": "webpack.config.js",
  "scripts": {
    "dev": "webpack --mode development frontend/src/index.js --output-path ./frontend/static/main.js",
    "build": "webpack --mode production frontend/src/index.js --output-path ./frontend/static/main.js/main.js"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/AhmedYasin487/Dotescrow.git"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/AhmedYasin487/Dotescrow/issues"
  },
  "homepage": "https://github.com/AhmedYasin487/Dotescrow#readme",
  "devDependencies": {
    "@babel/core": "^7.12.10",
    "@babel/preset-env": "^7.12.11",
    "@babel/preset-react": "^7.12.10",
    "babel-loader": "^8.2.2",
    "babel-plugin-transform-class-properties": "^6.24.1",
    "webpack": "^5.13.0",
    "webpack-cli": "^4.3.1"
  },
  "dependencies": {
    "@walletconnect/client": "^1.3.3",
    "prop-types": "^15.7.2",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "react-native": "^0.63.4",
    "walletconnect": "^1.3.3"
  },
  "description": ""
}

webpack.confi.js

const path = require('path')

module.exports = {
  entry: path.resolve(__dirname, 'frontend/src', 'index.js'),
  output: {
    path: path.resolve(__dirname, 'frontend/static/main.js'),
    filename: 'main.js'
  },
  mode:'development',
  module: {
    rules: [
      {
        test: /\.(jsx|js)$/,
        // include: path.resolve(__dirname, 'frontend/src'),
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
        
      }
    ]
  },

}

视觉错误。

如果需要更多代码,请在 cmets 中告诉我。我会用这些信息更新我的问题,谢谢。

【问题讨论】:

  • 你为什么把@walletconnect/client作为一个Babel预设?正如错误所说,具有该名称的预设不存在。
  • @loganfsmyth 我通过删除 @walletconnect/client 更新了我的 babelrc 文件。我还在这个问题中更新了我的 babelrc 并更新了新的回溯。我想我从 babelrc 文件中删除 walletconnect 包后得到了相同的回溯
  • 你的 Webpack 配置中也有它。
  • @loganfsmyth 我删除了那个,最后删除了那个错误,但又得到了另一个完全相同的错误 Error: Cannot find module '@babel/preset-core' 。我还更新了我的问题并添加了完整的回溯。
  • 也从您的预设中删除 "@babel/core"

标签: javascript node.js reactjs webpack babeljs


【解决方案1】:

@babel/core 不是预设,请从 babelrc 中的 presets 数组中删除它。

【讨论】:

  • 它消除了错误并在运行服务器后创建了构建。我再次收到 walletconnect 模块错误。您可以在我刚刚在问题末尾添加的图片中看到。
  • 该错误表明您的 babelrc 中仍有 walletconnect 模块。
  • 但是你可以看到我刚刚删除了那为什么?
  • 你删除后是否杀死并重启了webpack?
猜你喜欢
  • 2021-11-26
  • 2023-03-28
  • 2019-08-01
  • 1970-01-01
  • 2019-09-29
  • 1970-01-01
  • 2019-03-03
  • 1970-01-01
相关资源
最近更新 更多