如何覆盖 CRA 默认 webpack 配置
在 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 配置相关推荐
- vue中webpack默认配置_Vue-cli 中 Webpack 配置优化(一)
一.前言 最近一段时间在学习 Webpack 方面的知识.在学习的过程中主要配置的是 webpack.config.js 文件. 但是在 Vue-cli 3.x 下,已经对 Webpack 做了深度的 ...
- vuepress侧边栏配置_VuePress默认主题配置(default theme config) - VuePress中文网
# 默认主题配置(default theme config) 提示 此页面上列出的所有选项仅适用于默认主题.如果你使用的是自定义主题,则选项可能会有所不同. # 主页(Homepage) 默认主题提供 ...
- 在 angular6 中自定义 webpack 配置
在 angular6 中自定义 webpack 配置 我们已经使用 angular6 开发了一套后台管理系统,且体量日益增大,为了优化打包速度,想从 webpack 着手. 但是Angular Cli ...
- 干货! 快速上手typescript的学习笔记 (对比JS的新特性,环境搭建,webpack配置,ts编译配置)
前提需要有js的基础 文章目录 TypeScript 产生背景 什么是TypeScript? TypeScript增加了什么 TypeScript开发环境搭建 基本类型 编译文件配置 tsconfig ...
- Flask + Nginx + React + Webpack 配置解决跨域问题
用 Flask 做后端开发单页应用,webpack-dev-server 生成静态文件在http://localhost:8080 下,Flask 页面在 http://localhost:5000 ...
- vue-cli中的webpack配置
编辑模式下显示正常,打开的时候不知道为啥排版有问题. segementfalut链接在这里 版本号 vue-cli 2.8.1 (终端通过vue -V 可查看) vue 2.2.2 webpack 2 ...
- webpack打包生成的map文件_从这十几个方面优化你的 Webpack 配置
目录 开发环境性能优化 生产环境性能优化 开发环境性能优化 优化打包构建速度 HMR 优化代码调试 source-map HMR ❝ 概念:「HMR:」 hot module replacement ...
- 结合webpack配置_前端 Webpack 工程化的最佳实践
作者 | 阿里文娱前端开发专家 芃苏责编 | 屠敏头图 | CSDN 下载自视觉中国 引言 ▐ 前端构建工具的演变 回想在2015-2016年的时候,开发者们开始渐渐把视线从大量使用Task Runn ...
- vue-cli webpack配置分析 - chenBright - SegmentFault 思否
相信vue使用者对vue-cli都不会陌生,甚至可以说,很熟悉了,但对其webpack的配置可能知之甚少吧. 过完年回来后,我接手了公司的新项目.新项目是一个spa.很自然,我就想到了vue-cli脚 ...
- 六、Webpack详解学习笔记——webpack的安装、起步、配置、loader的使用、webpack中配置Vue、plugin的使用、搭建本地服务器、webpack配置的分离
一.认识webpack 什么是webpack? 这个webpack还真不是一两句话可以说清楚的. 我们先看看官方的解释: At its core, webpack is a static module ...
最新文章
- 报错Failed to initialize JPA EntityManagerFactory: Unable to create requested service解决方法
- 有状态bean与无状态bean
- springmvc读取静态数据,解决html访问不到css和js等静态数据的问题
- 在Mac的Docker中运行DotNetCore2.0
- 常见中文NER数据集大盘点
- Docker 6岁啦!多场线下 Party 即将来袭!
- 华为 HarmonyOS2.0(鸿蒙OS) 开发者beta公测招募的报名流程
- Oracle 11g安装(window)的7个服务
- pycharm入门的简易使用教程
- redhat6.3下配置使用cenos yum源
- 解决jQgrid 设置列宽度自动调整时, 出现滚动条问题.
- Struts2中的ModelDriven机制及其运用
- 使用jprobe建设镜面层叠的原则和见解
- 基于OPENCV的图像识别(JAVA版本)
- 2012服务器清理系统盘,windows2012磁盘清理
- 知行合一 中国古代小说鉴赏 大作业
- Romax Designer 机械传动系统 视频
- 树和二叉树的基本概念及性质
- jQuery悬浮QQ客服插件
- 腾讯云服务器搭建NextCloud云盘
热门文章
- 情人节程序员用HTML网页表白【粉色烂漫的七夕情人节专题页面】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
- Linux的磁盘分区、基本目录结构
- 还有没换国旗头像的么 头像领取方法 不要再@微信官方啦
- 2203-python跳转,窗口图标,提示框,消息盒子
- android 播放流媒体_30个最佳和免费的Android媒体播放器
- 桌面计算机图标变黑块,电脑桌面图标变成黑色方块该怎么解决?
- 【性能】【内存】swap解读
- 什么叫股指期货,股指期货交易流程是什么
- 桃李春风一杯酒,江湖夜雨十年灯。
- 【SDOI2015】临行前的夜