当前位置: 首页 > article >正文

React 发现无webpack相关的配置的目录,使用eject进行创建, 安装插件需要进行配置

React 发现无webpack相关的配置的目录,进行创建, 安装插件需要进行配置

react脚手架将webpack相关的配置隐藏起来了,如果想要看到webpack的配置可以执行package.json文件中的一个脚本:“eject”: “react-scripts eject”,操作不可逆
在这里插入图片描述

关于eject

eject 命令是 Create React App(CRA)(脚手架)提供的一个命令,用于将项目的配置从隐藏状态“弹出”到可编辑的状态。
create-react-app文档
执行npm run eject命令会将react-scripts释放到本地项目中,可以通过修改对应的文件完成配置。同时会删除react-scripts依赖包,修改package.json中命令。命令执行完毕以后,我们就会看到本地项目中多出scriptsconfig两个目录文件。同时,package.json文件命令被修改了。
与上述图片对比
在这里插入图片描述

此时,如果在执行启动或者打包命令,就是直接执行的scripts目录下对应的文件了。我们可以很方便的根据需要修改对应的文件配置即可。

但值得注意的是,npm run eject命令是不可逆的,即执行之后不可恢复,这就造成了如果后续我们想通过脚手架的react-scripts包增加新的特性,比如PWA支持,是不可行

配置

1、使用eject命令暴露封默认的安装包解析

npm run eject

yarn eject

   这个操作是永久的,暴露出来之后无法还原
   Are you sure you want to eject? This action is permanent.

    如果原来项目有修改,那么会有提示暂存到本地的git仓库

2.暴露之后的目录以及相关内容解析

在这里插入图片描述

分析

在这里插入图片描述

在这里插入图片描述
文件夹中会新增config和scripts文件,package.json文件可以看到项目的依赖项dependemcies和 script配置发生了变化,以及添加了jest的配置

eject的副作用:

1、如果后续的cra更新了并添加了很多不错的功能,如果想应用到自己的项目中,可以通过更新cra版本来实现,而不是更新webpack的配置,但是如果已经对项目进行了eject操作,那么就无法很好的迎接未来

2、(注意) 对于代码洁癖的人来说不是很友好,因为eject之后,package.json文件会被写入很多依赖项,还有其他的脚本和配置文件

3、如果你有多个项目都是eject的,那么修改配置,可能会大量的复制粘贴,因为大多数情况下,项目的配置(比如webpack和babel)都是相同的

webpack.config.js 文件 配置less

//引入 less 文件的配置
const lessRegex = /.less$/;
const lessModuleRegex = /.module.less$/;  

替代方案

使用react-app-rewired + customize-cra或@craco/craco


http://www.kler.cn/a/298918.html

相关文章:

  • 数字经济下的 AR 眼镜
  • Leetcode中最常用的Java API——util包
  • 如何调大unity软件的字体
  • 0基础学前端-----CSS DAY9
  • 编译原理复习---目标代码生成
  • Python中的上下文管理器:从资源管理到自定义实现
  • 三十六、Gin注册功能-检查账号是否存在
  • 基于SpringBoot的在线购物平台
  • 【计算机组成原理】带符号整数的表示——补码与反码
  • ChatGPT在论文写作领域的应用:初稿设计
  • ChoETL:支持多数据库读写.Net开源库,包含 CSV、XML、JSON等8个格式
  • 【数据结构】详解二叉搜索树及其实现
  • 王道考研操作系统笔记(一)
  • 解读 MySQL 底层设计:连接管理与并发控制策略
  • 从头开始学Spring—06初识声明式事务
  • 间隙锁在其他数据库管理系统中的类似实现
  • 发现用 Go 写桌面程序真的太爽了...
  • Proteus仿真综合实例(1)
  • 使用 JAXB 将内嵌的JAVA对象转换为 xml文件
  • MIT6.824 课程-MapReduce
  • vue3如何创建多环境变量
  • Anti-honeypot - 自动识别Web蜜罐Chrome插件,附下载链接
  • 英文站外链如何建设?
  • 启动程序时遇到0xc000007b应用程序无法正常启动问题
  • Mongodb 4.2.25 安装教程
  • QDY421F-16P-25液氨不锈钢液动紧急切断阀