在 CRA 创建的项目中,经常需要修改默认 webpack 配置。但是 CRA 不像 Vue-cli 可以提供自定义 webpack 配置,而 eject 又会把全部配置暴露出来,很麻烦。这种情况下可以使用 react-app-rewired 这个库:

$ yarn add react-app-rewired -D

在项目根目录创建一个 config-overrides.js 文件,添加自定义 webpack 配置:

/* config-overrides.js */module.exports = function override(config, env) {//do stuff with the webpack config...return config;
}

最后在 package.json 中修改 npm scripts:

/* package.json */"scripts": {-   "start": "react-scripts start",
+   "start": "react-app-rewired start",
-   "build": "react-scripts build",
+   "build": "react-app-rewired build",
-   "test": "react-scripts test",
+   "test": "react-app-rewired test","eject": "react-scripts eject"
}

这个库源码不是很多,推荐看一下:

https://github.com/timarney/react-app-rewired

通常 react-app-rewired 会搭配 customize-cra 这个库一起用:

$ yarn add customize-cra react-app-rewired -D

支持在 config-overrides.js 中编写函数式的 API 去修改 webpack 配置:

const {override,addDecoratorsLegacy,disableEsLint,addWebpackAlias
} = require("customize-cra");
const path = require("path");module.exports = override(// enable legacy decorators babel pluginaddDecoratorsLegacy(),// disable eslint in webpackdisableEsLint(),// add an alias for "ag-grid-react" importsaddWebpackAlias({["ag-grid-react$"]: path.resolve(__dirname, "src/shared/agGridWrapper.js")}),
);

https://github.com/arackaf/customize-cra

如何覆盖 CRA 默认 webpack 配置相关推荐

  1. vue中webpack默认配置_Vue-cli 中 Webpack 配置优化(一)

    一.前言 最近一段时间在学习 Webpack 方面的知识.在学习的过程中主要配置的是 webpack.config.js 文件. 但是在 Vue-cli 3.x 下,已经对 Webpack 做了深度的 ...

  2. vuepress侧边栏配置_VuePress默认主题配置(default theme config) - VuePress中文网

    # 默认主题配置(default theme config) 提示 此页面上列出的所有选项仅适用于默认主题.如果你使用的是自定义主题,则选项可能会有所不同. # 主页(Homepage) 默认主题提供 ...

  3. 在 angular6 中自定义 webpack 配置

    在 angular6 中自定义 webpack 配置 我们已经使用 angular6 开发了一套后台管理系统,且体量日益增大,为了优化打包速度,想从 webpack 着手. 但是Angular Cli ...

  4. 干货! 快速上手typescript的学习笔记 (对比JS的新特性,环境搭建,webpack配置,ts编译配置)

    前提需要有js的基础 文章目录 TypeScript 产生背景 什么是TypeScript? TypeScript增加了什么 TypeScript开发环境搭建 基本类型 编译文件配置 tsconfig ...

  5. Flask + Nginx + React + Webpack 配置解决跨域问题

    用 Flask 做后端开发单页应用,webpack-dev-server 生成静态文件在http://localhost:8080 下,Flask 页面在 http://localhost:5000 ...

  6. vue-cli中的webpack配置

    编辑模式下显示正常,打开的时候不知道为啥排版有问题. segementfalut链接在这里 版本号 vue-cli 2.8.1 (终端通过vue -V 可查看) vue 2.2.2 webpack 2 ...

  7. webpack打包生成的map文件_从这十几个方面优化你的 Webpack 配置

    目录 开发环境性能优化 生产环境性能优化 开发环境性能优化 优化打包构建速度 HMR 优化代码调试 source-map HMR ❝ 概念:「HMR:」 hot module replacement ...

  8. 结合webpack配置_前端 Webpack 工程化的最佳实践

    作者 | 阿里文娱前端开发专家 芃苏责编 | 屠敏头图 | CSDN 下载自视觉中国 引言 ▐ 前端构建工具的演变 回想在2015-2016年的时候,开发者们开始渐渐把视线从大量使用Task Runn ...

  9. vue-cli webpack配置分析 - chenBright - SegmentFault 思否

    相信vue使用者对vue-cli都不会陌生,甚至可以说,很熟悉了,但对其webpack的配置可能知之甚少吧. 过完年回来后,我接手了公司的新项目.新项目是一个spa.很自然,我就想到了vue-cli脚 ...

  10. 六、Webpack详解学习笔记——webpack的安装、起步、配置、loader的使用、webpack中配置Vue、plugin的使用、搭建本地服务器、webpack配置的分离

    一.认识webpack 什么是webpack? 这个webpack还真不是一两句话可以说清楚的. 我们先看看官方的解释: At its core, webpack is a static module ...

最新文章

  1. 报错Failed to initialize JPA EntityManagerFactory: Unable to create requested service解决方法
  2. 有状态bean与无状态bean
  3. springmvc读取静态数据,解决html访问不到css和js等静态数据的问题
  4. 在Mac的Docker中运行DotNetCore2.0
  5. 常见中文NER数据集大盘点
  6. Docker 6岁啦!多场线下 Party 即将来袭!
  7. 华为 HarmonyOS2.0(鸿蒙OS) 开发者beta公测招募的报名流程
  8. Oracle 11g安装(window)的7个服务
  9. pycharm入门的简易使用教程
  10. redhat6.3下配置使用cenos yum源
  11. 解决jQgrid 设置列宽度自动调整时, 出现滚动条问题.
  12. Struts2中的ModelDriven机制及其运用
  13. 使用jprobe建设镜面层叠的原则和见解
  14. 基于OPENCV的图像识别(JAVA版本)
  15. 2012服务器清理系统盘,windows2012磁盘清理
  16. 知行合一 中国古代小说鉴赏 大作业
  17. Romax Designer 机械传动系统 视频
  18. 树和二叉树的基本概念及性质
  19. jQuery悬浮QQ客服插件
  20. 腾讯云服务器搭建NextCloud云盘

热门文章

  1. 情人节程序员用HTML网页表白【粉色烂漫的七夕情人节专题页面】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
  2. Linux的磁盘分区、基本目录结构
  3. 还有没换国旗头像的么 头像领取方法 不要再@微信官方啦
  4. 2203-python跳转,窗口图标,提示框,消息盒子
  5. android 播放流媒体_30个最佳和免费的Android媒体播放器
  6. 桌面计算机图标变黑块,电脑桌面图标变成黑色方块该怎么解决?
  7. 【性能】【内存】swap解读
  8. 什么叫股指期货,股指期货交易流程是什么
  9. 桃李春风一杯酒,江湖夜雨十年灯。
  10. 【SDOI2015】临行前的夜