当前位置: 首页 > 知识库问答 >
问题:

错误:找不到模块'巴贝尔-预设-反应'-如果你想解决"反应",使用"模块:反应"

皇甫通
2023-03-14

我已经处理了所有关于这个问题的问题,到目前为止我还没有解决这个问题。

我正在学习关于React的Pluralsight课程,示例应用程序是从头开始手工构建的;这意味着每个依赖项都是在不使用任何CLI的情况下手动添加的。由于课程有点陈旧,我不得不花相当长的时间升级巴贝尔的大部分软件包,直到我在运行webpack时遇到这个问题。

这是包的依赖项列表。json

     "babel": {
       "presets": [
         "react",
         "env",
         "stage-2"
       ]
      },
      "dependencies": {
        "@babel/cli": "^7.14.3",
        "@babel/core": "^7.14.3",
        "@babel/preset-env": "^7.14.4",
        "@babel/preset-react": "^7.13.13",
        "@babel/preset-stage-2": "^7.8.3",
        "babel-loader": "^8.2.2",
        "ejs": "^3.1.6",
        "express": "^4.17.1",
        "nodemon": "^2.0.7",
        "react": "^17.0.2",
        "react-dom": "^17.0.2",
        "webpack": "^5.38.1"
      },
      "devDependencies": {
        "babel-eslint": "^10.1.0",
        "eslint": "^7.27.0",
        "eslint-plugin-react": "^7.24.0",
        "webpack-cli": "^4.7.0"
      }

这是webpack.config.js

const path = require('path');

module.exports = {
    entry: './lib/components/app.jsx',
    output: {
        path: path.resolve(__dirname, 'public'),
        filename: 'bundle.js',
    },
    module: {
        rules: [
            { 
                test: /\.(js|jsx)$/,
                exclude: /node_modules/,
                use: {
                    loader: 'babel-loader',
                    options: {
                        presets: [
                            ['@babel/preset-env', { targets: 'defaults' }],
                            '@babel/preset-react'
                        ]
                    }
                }
            }
        ],
    },
    devtool: 'source-map',
};

我正在运行命令“webpack-w”。

SO中的大多数答案都谈到正确配置webpack.config.js文件中的“预设”。到目前为止,我已经尝试了几件事情,结果完全相同:

presets: [
    ['@babel/preset-env', { targets: 'defaults' }],
    '@babel/preset-react'
]


presets: [
    '@babel/preset-react'
]                       

presets: [
    '@babel/preset-env', 
    '@babel/preset-react'
]

我得到的完整错误如下:

错误/lib/components/app。jsx模块生成失败(来自./node_modules/babel loader/lib/index.js):错误:找不到模块“babel preet react”

  • 如果你想解决反应,使用模块:反应
  • 你是说“巴贝尔/反应”吗?at函数。模块。_resolveFilename(内部/模块/cjs/loader.js:636: 15)在解决(C:\用户\sromero\文档\学习\反应\高级-反应\node_modules\v8编译-缓存\v8-compile-cache.js:164: 23)在解决标准化名称(C:\用户\sromero\文档\学习\反应\高级-反应\node_modules@babel\核心##########################################################################################################################################################################-2/>\core\lib\config\file\plugins.js:78: 20)at loadPreset.next()at createdescription ptor(C:\用户\sromero\Documents\学习\React\高级反应\node_modules@babel\core\lib\config\config-descriptors.js:187: 16)at createDescriptor.next()在步骤(C:\用户\sromero\Documents\学习\反应\高级-反应\node_modules\gensync\index.js:261: 32)处评估Async(C:\用户\sromero\Documents\学习\反应\高级-反应\node_modules\gensync\index.js:291: 5)

为了完整起见,应用程序。错误所指的jsx文件是:

import React from 'react';
import ReactDOM from 'react-dom';

const App = () => {
    return (
        <h2>I am working!</h2>
    );
};

ReactDOM.render(
    <App />,
    document.getElementById('root')
);

任何帮助都将不胜感激。

共有1个答案

罗昱
2023-03-14

babel键进入您的包。json是为巴别塔6设计的。x和引用了您尚未安装的插件,这就是为什么会出现该错误。

@babel/preset-env和@babel/preset-react可能会完成你需要担心的一切,所以只要在Webpack配置中安装和引用这些,你就可以走了。

 类似资料:
  • 我被困在创建一个反应应用程序。我已经尝试了我的应用程序的npx创建-反应-应用程序,但它不工作。现在我得到这个"找不到模块'core-utils-is',以前我修复了另一个模块的另一个问题。所以,我怀疑我是在一个错误。我认为最好的解决办法是从cero开始。但是我不确定如何卸载我需要的所有重装而不破坏所有(nodejs,npm...)。我附上我的控制台的图像:在这里输入图像描述 $npx创建reac

  • 问题内容: 我不明白为什么找不到它。 导入组件文件。 是什么赋予了? 问题答案: 如果您不使用打字稿2.1,则应升级到它。似乎您使用的是@types中的2.x版本。 这是我现在正在使用的工作文件: 自从我解决了您遇到的同样问题以来已经过了几天,但我认为这里的关键是and 。

  • 问题内容: 我正在尝试在我的docker容器’client’中安装: 并尝试在这里导入: Seeds.jsx 并且可以安装,但是不是。控制台将错误记录给我: package.json Dockerfile开发 docker-compose.yml 我在文件夹中找不到模块… 我在这里想念什么? 编辑 :不带–silent的npm安装: 问题答案: 当您的文件说: 您是在告诉Docker您的目录包含关

  • 我正在尝试为没有经验的霍尼韦尔CT50设备实施React Native Android模块。该模块将监听设备上内置激光扫描仪的扫描。 我已经在React本机站点上完成了正式的演练,我已经成功地设置了一个基本模块,可以在RN组件中接收到一个简单的值。到目前为止,我的代码如下所示: 霍尼韦尔CT50包装: 霍尼韦尔CT50模块: React Native Component(在组件中) 我正在努力理解

  • 我正在尝试使用 来为我的 react 应用程序的一小部分提供服务。我有两个部分(和),但我只对部分有顾虑。 我尝试了以下方法: > 在根目录下创建文件 我添加了来忽略babel,因为我无法使它导入文件,它不断抛出: 。 但是,每次我运行webpack时,它都会抛出诸如以下的错误: 位于这个根文件夹中。

  • 我还没有反应过来,所以我为这个问题的无知道歉。 我刚刚创建了一个新的React应用程序,我一直在使用文件夹结构。以下是我当前的文件夹结构: 在/react-app/src/components/app/app.js中,我需要导入logo.svg,它位于/react-app/src/assets/images/logo/logo.svg中。 在App.js中,我有以下行来导入徽标: 我得到以下错误: