react项目升级报错,babel报错,.babelrc配置兼容等问题及解决

 更新时间:2022年08月09日 08:56:28   作者:daoke_li  
这篇文章主要介绍了react项目升级报错,babel报错,.babelrc配置兼容等问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

react项目升级报错,babel报错,.babelrc配置兼容问题

由于开发环境和项目版本的兼容问题,尝试升级了react-scripts后,一大堆问题接踵而至,翻遍了百度和csdn,往往解决了旧的又出现新的,或者开发没问题而打包时报错,现罗列一下遇到的主要问题和最终解决方案,以供参考。

遇到问题

digital envelope routines::unsupported

命令行运行 $env:NODE_OPTIONS=“–openssl-legacy-provider” ,再次启动即可

Parsing error: This experimental syntax requires enabling one of the following parser plugin(s): “decorators-legacy”, “decorators”.

require() of ES Module ……is not supported.

Parsing error: This experimental syntax requires enabling one of the following parser plugin(s): “decorators-legacy”, “decorators”.

[eslint] The “path” argument must be of type string. Received an instance of Array

[eslint] ESLint configuration in .eslintrc is invalid:
- Unexpected top-level property “babel”.

最终解决方案

删掉根目录下的.babelrc文件,在package.json中配置:

 "babel": {
    "presets": [
      "react-app"
    ],
    "plugins": [
      [
        "@babel/plugin-proposal-decorators",
        {
          "legacy": true
        }
      ]
    ]
 },

必要时安装依赖:“@babel/eslint-parser”

注:

babel-eslint 自 2020 年 3 月起已被弃用。 该软件包已迁移到新的仓库,如有需要请查阅 ‘@babel/eslint-parser’

react运行报错TypeError

报错:TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string.

在同事帮忙下已解决,

现记录一下思路

页面 / 控制台报错

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined

   at validateString (internal/validators.js:117:11)

   at Object.join (path.js:375:7)

   at noopServiceWorkerMiddleware (D:\git\healthyWashing\node_modules\react-dev-utils\noopServiceWorkerMiddleware.js:14:26)

……

根据提示,看出问题是在react-dev-utils下面的noopServiceWorkerMiddleware里,

全局搜索‘"react-dev-utils"’,注意有双引号,找到node_modules/react-scripts/package.json文件中的"react-dev-utils": "^10.0.0",这一行。

考虑到可能是没有锁定版本,最近有包有更新后造成bug的可能,所以去掉尖角号^,

然后 清除缓存并重新安装依赖

npm cache clean --force
npm install

再运行时项目就跑起来了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • React组件通信浅析

    React组件通信浅析

    这篇文章主要介绍了React组件通信,在开发中组件通信是React中的一个重要的知识点,本文通过实例代码给大家讲解react中常用的父子、跨组件通信的方法,需要的朋友可以参考下
    2022-12-12
  • react hooks入门详细教程

    react hooks入门详细教程

    这篇文章主要介绍了react hooks入门详细教程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • 使用React Profiler进行性能优化方案详解

    使用React Profiler进行性能优化方案详解

    在现代前端开发中,性能优化是一个不可忽视的重要环节,在 React 生态系统中,React Profiler 是一个强大的工具,下面我们来看看如何使用它来提升我们的 React 应用吧
    2025-03-03
  • React的Props、生命周期详解

    React的Props、生命周期详解

    “Props” 是 React 中用于传递数据给组件的一种机制,通常作为组件的参数进行传递,在 React 中,props 是只读的,意味着一旦将数据传递给组件的 props,组件就不能直接修改这些 props 的值,这篇文章主要介绍了React的Props、生命周期,需要的朋友可以参考下
    2024-06-06
  • React-Route6实现keep-alive效果

    React-Route6实现keep-alive效果

    本文主要介绍了React-Route6实现keep-alive效果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧<BR>
    2022-06-06
  • react如何修改循环数组对象的数据

    react如何修改循环数组对象的数据

    这篇文章主要介绍了react如何修改循环数组对象的数据问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 40行代码把Vue3的响应式集成进React做状态管理

    40行代码把Vue3的响应式集成进React做状态管理

    这篇文章主要介绍了40行代码把Vue3的响应式集成进React做状态管理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 使用React封装一个Tree树形组件的实例代码

    使用React封装一个Tree树形组件的实例代码

    这篇文章主要介绍了使用React封装一个Tree树形组件的实例,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-03-03
  • 如何用react优雅的书写CSS

    如何用react优雅的书写CSS

    这篇文章主要介绍了如何用react优雅的书写CSS,帮助大家更好的理解和学习使用react,感兴趣的朋友可以了解下
    2021-04-04
  • react中使用usestate踩坑及解决

    react中使用usestate踩坑及解决

    这篇文章主要介绍了react中使用usestate踩坑及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08

最新评论