前端|babel升级

问题

  • 项目不支持可选链调用
  • 过多的 babel 插件

步骤

  1. 基础包
  • dependencies
    • “react-scripts”: “5.0.1”
  • devDependencies
    • “customize-cra”: “^1.0.0”,
    • “react-app-rewired”: “^2.2.1”,
  1. 框架包
  • dependencies
    • “react”: “16.13.1”,
    • “react-dom”: “16.13.1”,
      “react-router”: “^4.3.1”,
      “react-router-dom”: “^4.3.1”,
  • devDependencies
    • “customize-cra”: “^1.0.0”,
    • “react-app-rewired”: “^2.2.1”,
    • “less-loader”: “4.1.0”,
    • “lint-staged”: “^7.2.0”,
    • “prettier”: “^2.3.2”,
    • “styled-components”: “^5.2.0”,
    • “cross-env”: “^5.2.0”,
  1. 构建包
  • “happypack”: “^5.0.1”,
  • “react-app-rewire-happy-pack”: “^1.0.0”,
  • “react-app-rewire-webpack-bundle-analyzer”: “^1.0.1”,
  • “terser-webpack-plugin”: “^5.3.9”,
  • “webpack-bundle-analyzer”: “^2.13.1”,
  • “webpackbar”: “^5.0.2”
  1. 业务包

其他问题处理

  1. 全路径问题 fully specific
    webpack5 对路径的要求也更严格,需要是全路径 mjs 支持
    addWebpackModuleRule({
    test: /.m?js/,
    resolve: {
    fullySpecified: false,
    },
    }),

  2. babel/runtime

  • 首先第一个问题是有很多 babel/runtime 相关的报错,而且报错的地方不在我们的项目里,而是在 node_modules 里面
    yarn add -D @babel/runtime
  1. node ployfill
    webpack5 也移除了 node 模块的 ployfill,以后我们用到的需要自己安装了,
    基本上 node ployfill 项目中也很少用到,我这边看到的报错,大部分还是 node_modules 里看到的。
    yarn add -D stream

  2. postcss
    yarn add -D postcss-at-rules-variables

create-react-app react-scripts 升级,从 3.x 升到 5.x 踩坑(webpack5 升级踩坑)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/789057.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL-linux安装-万能RPM法

一、MySQL的Linux版安装 1、 CentOS7下检查MySQL依赖 1. 检查/tmp临时目录权限(必不可少) 由于mysql安装过程中,会通过mysql用户在/tmp目录下新建tmp_db文件,所以请给/tmp较大的权限。执行 : chmod -R 777 /tmp2. …

Aurora8b10b(2)上板验证

文章目录 前言一、AXI_Stream数据产生模块二、上板效果总结 前言 上一篇内容我们已经详细介绍了基于aurora8b10b IP核的设计,本文将基于此进一步完善并且进行上板验证。 设计思路及代码思路参考FPGA奇哥系列网课 一、AXI_Stream数据产生模块 AXIS协议是非常简单的…

Boost之Log: (3)、简单封装

设计目标: 1、每个Logging source对应一个目录,可以设置日志文件数,日志大小,目录名,文件名等 2、所有logging source日志目录都在一个根目录下。 3、可以动态创建和删除logging source 4、打印出日期时间和日志严重等级 示例代码…

前端试题2#记录

1、介绍以下CSS的盒子模型 盒子模型分为两种: (1)第一种是W3c标准的盒子模型(标准盒模型) width和height:内容的宽度、高度(不是盒子的宽度、高度)。padding:内边距。…

Java常用API之Collections类解读

写在开头:本文用于作者学习Java常用API 我将官方文档中Collections类中所有API全测了一遍并打印了结果,日拱一卒,常看常新 addAll() 将所有指定元素添加到指定 collection 中 可以添加一个或多个元素 Testpublic void test_addAl…

HarmonyOS入门-ArkTS学习(一)

1. 什么是ArkTS语言 学习之前,我们先初步了解下什么是ArkTS 官方指南这样介绍: ArkTS是TS的超集,ArkTS定义了声明式UI描述、自定义组件和动态扩展UI元素的能力,再配合ArkUI开发框架中的系统组件及其相关的事件方法、属性方法等共…

2024.2.26力扣每日一题——二叉搜索树的范围和

2024.2.26 题目来源我的题解方法一 深度搜索(中序遍历)方法二 广度搜索(层序遍历) 题目来源 力扣每日一题;题序:938 我的题解 方法一 深度搜索(中序遍历) 利用二叉搜索树中序遍历…

Python:使用Cator实现mysql数据库的CURD简化操作

目录 简介安装使用示例1、获取Database 对象2、Database对象3、Table操作 支持的占位符显示sql日志注意问题 Github: https://github.com/mouday/catorPypi: https://pypi.org/project/catorgitee: https://gitee.com/mouday/cator 简介 支持 mysql和sqlite数据库, 在现有连接…

OpenHarmony实战:轻量级系统之子系统移植概述

OpenHarmony系统功能按照“系统 > 子系统 > 部件”逐级展开,支持根据实际需求裁剪某些非必要的部件,本文以部分子系统、部件为例进行介绍。若想使用OpenHarmony系统的能力,需要对相应子系统进行适配。 OpenHarmony芯片适配常见子系统列…

留学生在美国大学利用AI工具到底算不算作弊呢?

自2022年以来,美国大学就开启了一场AI作弊与反作弊大战 战场小至测验,大至申请 这场战争并没有一方胜利,作弊者心思费尽 校方反作弊弄得教授们苦不堪言 那么作为中国留学生该如何避免这场战役呢? 毕竟还是学业要紧呢…… 故事…

软考 系统架构设计师系列知识点之软件架构风格(10)

接前一篇文章:软考 系统架构设计师系列知识点之软件架构风格(9) 所属章节: 第7章. 系统架构设计基础知识 第3节. 软件架构风格 相关试题 7. 某企业内部现有的主要业务功能已封装成为Web服务。为了拓展业务范围,需要将…

让六西格玛培训有效的三个步骤,拿走不谢!

近年来,六西格玛作为一种先进的质量管理方法,被众多企业视为提升产品质量、优化流程、减少浪费的利器。然而,如何使六西格玛培训真正落地生根,发挥出其应有的效果,成为了许多企业关注的焦点。本文,天行健Si…

docker容器部署gitlab的runner的shell模式注册下job中无法使用docker指令

引言 现需通过gitlab-runner来构建jar部署的镜像,发现在job中无法使用docker指令,解决的过程中出现一系列异常,在此做个问题解决的记录。 内容 通过docker-compose部署 name: java-env services:env-gitlab-runner:restart: alwaysimage: env/gitlab-runner-java:latest…

每日五道java面试题之消息中间件MQ篇(二)

目录: 第一题. RabbitMQ的工作模式第二题. 如何保证RabbitMQ消息的顺序性?第三题. 消息如何分发?第四题. 消息怎么路由?第五题. 如何保证消息不被重复消费?或者说,如何保证消息消费时的幂等性? …

前端导出文本内容为csv文件,excel乱码

原因:编码格式问题,需要改为utf-8 bom // Create blob with utf8-bom 编码 const createBlobWithBOM(data, mimeType)> {const bom [0xEF, 0xBB, 0xBF];const bomArray new Uint8Array(bom);const dataArray new TextEncoder().encode(data);const…

Android adb ime 调试输入法

目录 前言列出所有输入法仅列出输入法 id列出所有输入法的所有信息 启用/禁用 输入法启用输入法禁用输入法 切换输入法还原输入法 前言 安装多个输入法后&#xff0c;可以在设置里进行切换。 既然是开发&#xff0c;能用命令就就命令~ ime 帮助说明&#xff1a; ime <c…

目标检测、识别和语义分割的标注工具安装

计算机视觉 图像分类&#xff08;目标检测&#xff09;&#xff1a;一张图像中是否含某种物体物体定位&#xff08;目标检测与目标识别&#xff09;&#xff1a;确定目标位置和所属类别。语义分割&#xff08;目标分割和目标分类&#xff09;&#xff1a;对图像进行像素级分类…

计算机视觉无人驾驶技术:入门指南

I. 引言&#xff1a; 计算机视觉无人驾驶技术是一种基于计算机视觉和机器学习技术的自动化驾驶技术。它可以通过搭载各种传感器和摄像机&#xff0c;让车辆自主感知周围环境&#xff0c;实现尽可能自动化的驾驶操作。 这种技术具有重要性和优势&#xff0c;包括&#xff1a; …

js 本地缓存localStorage和sessionStorage 还有cookie 用法和区别

一、定义和使用 localStorage 和 sessionStorage 属性允许在浏览器中存储 key/value 对的数据。 localStorage 用于长久保存整个网站的数据&#xff0c;保存的数据没有过期时间&#xff0c;直到手动去删除。 sessionStorage 数据保存在当前会话中&#xff0c;该数据对象临时保…

Mini-React

jsx jsx 是React中对于JavaScript的语法扩展&#xff0c;允许在JavaScript中去写类似于HTML的代码。使得开发者能够以一种更直观和声明式的方式去编写用户界面 vdom vdom是React为了提高性能而去引入的一个虚拟的dom表示。 它是一个轻量级的 JavaScript 对象&#xff0c;用于…