我是用的是 npx create-react-app my-app创建的项目
个人不推荐通过 npm run eject拉取webpack配置

1 下载 customize-cra 和 react-app-rewired

cnpm install customize-cra react-app-rewired --dev

2 更改 package.json 中的 scripts 配置

将原本以下四行做替换"scripts": {"start": "react-app-rewired start","build": "react-app-rewired build","test": "react-app-rewired test","eject": "react-app-rewired eject"},

3.在根目录添加config-overrides.js 文件

主要在该文件配置webpack

4.新增一个plugin

/plugin/testPlugin.js
/** @Author: muge* @Date: 2022-05-18 21:54:03* @LastEditors: * @LastEditTime: 2022-05-18 23:48:42*/
class testPlugin {constructor(options) {this.options = options;console.log("插件被使用了");console.log(options);}apply(compiler) {const { text } = this.options;// compiler.hooks.done,生命周期:在 compilation 完成时执行compiler.hooks.done.tap("最后输出", () => {console.log(`${text}`);});}
}
module.exports = testPlugin;

5.在config-overrides引入插件

/** @Author: muge* @Date: 2022-05-18 22:01:38* @LastEditors: Please set LastEditors* @LastEditTime: 2022-05-18 23:48:36*/
const { override, addWebpackPlugin } = require("customize-cra");
const testPlugin = require("./plugin/testPlugin");
module.exports = override(addWebpackPlugin(new testPlugin({text: "myPlugin",}))
);

有很多的钩子函数推荐上官网去看 https://webpack.docschina.org/api/compiler-hooks/#hooks

webpack 的plugin简单实现 customize-cra相关推荐

  1. webpack入门之简单例子跑起来

    webpack入门之简单例子跑起来 webpack介绍 Webpack是当下最热门的前端资源模块化管理和打包工具,它可以将很多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源,还可以将按需加载 ...

  2. IntellJ IDEA 基础之 一些常用插件plugin 简单整理 (辅助提高编写代码效率)

    IntellJ IDEA 基础之 一些常用插件plugin 简单整理 (辅助提高编写代码效率) 目录 IntellJ IDEA 基础之 一些常用插件plugin 简单整理 (辅助提高编写代码效率) 一 ...

  3. [转] webpack之plugin内部运行机制

    简介 webpack作为当前最为流行的模块打包工具,几乎所有的主流前端开发框架(React.Vue等)都会将其作为默认的模块加载和打包工具.通过简单的配置项,使用各种相关的loader和plugin, ...

  4. Webpack 插件开发如此简单!

    本文使用的Webpack-Quickly-Starter快速搭建 Webpack4 本地学习环境. 建议多阅读 Webpack 文档<Writing a Plugin>章节,学习开发简单插 ...

  5. webpack系列-plugin

    plugin简介 plugin的本质是一个类,类里面有一个apply方法,apply的参数为compiler,在其上面会有一些hooks,不同的hooks对应不同的tapable实例. 同步和异步的生 ...

  6. webpack gulp grunt 简单介绍

    本文主要是讲下webpack的相关知识点,理论比较多,因为webpack的功能非常强大,说到的也基本都是经常用到的. 这三个工具都属于前端自动化的工具,都是第三方的,并且国内很多大型团队也都有自己成熟 ...

  7. Maven自定义打包插件Assembly Plugin简单使用

    使用Assembly Plugin实现自定义打包 1.修改pom.xml <!-- 编译时自动打包,规则见distribution.xml文件--> <build><pl ...

  8. Webpack之plugin

    什么是plugin? plugin是插件的意思,通常用于对现有的架构进行扩展.webpack中的插件,就是对webpack现有功能的各种扩展,比如打包优化,文件压缩等等. loader和plugin的 ...

  9. 前端学习(2154):webpack横幅plugin的使用

  10. 初探webpack之编写plugin

    初探webpack之编写plugin webpack通过plugin机制让其使用更加灵活,以适应各种应用场景,当然也大大增加了webpack的复杂性,在webpack运行的生命周期中会广播出许多事件, ...

最新文章

  1. 汤家凤高等数学2020年强化笔记-第三模块-积分学
  2. POJ_2104 K-th Number 【主席树】
  3. 修改浏览器下拉条颜色和粗细
  4. arm开发tq2440上的c++裸奔程序
  5. 用if语句表达区间分支
  6. GP学习(七)—Accessing raster workspaces
  7. linux清空垃圾箱的命令,在Linux系统下安装Autotrash并使用Autotrash自动清空垃圾箱...
  8. 大道至简,职场上做人做事做管理(From Jimmy Zhang)
  9. mysql主从docker_(学习到实践)四、docker搭建mysql主从实践
  10. 马云怒赞的93年网红区块链工程师,教你如何用3年时间实现逆袭
  11. JAVAWeb项目 微型商城项目-------(六)管理员登录
  12. 安川机器人如何注释化指令_安川机器人 命令介绍 内部版
  13. 凸二次规划的解法(旋转算法)
  14. 学习Spring之前要先学习什么?
  15. 翻牌记忆类H5游戏的春天
  16. 大数据工具七剑下天山之Flume (一)
  17. 给Android程序员的一些面试建议
  18. 无敌破坏王2之大闹互联网观后感
  19. 平均的计算机符号,如何在Word中输入平均数的符号X上加一横(X拔)
  20. Blender 插件开发 将object设置成bpy.context.object

热门文章

  1. 矩阵 LUP 分解 解线性方程组 求行列式值 矩阵求逆 算法说解
  2. 华氏温度和摄氏温度互换
  3. 自定义view绘制太极图案
  4. 视频如何批量去除水印
  5. win10系统版本更新旧版本文件清理:如何安全删除win10中的Windows.old文件夹
  6. 流媒体播放器VLC media player
  7. 电力行业适合学习的开源软件
  8. 金融计算机求log,cfa计算器怎么算对数
  9. 20155322 2016-2017-2 《Java程序设计》第7周学习总结
  10. 报错 UserWarning: No NMS is available. Please upgrade torchvision to 0.3.0+