但是我使用的是 create-react-app 创建的 React 项目,这样一来 Webpack 的配置将会被隐藏,需要使用 react-app-rewired 来暴露位于 node_modules 目录下的 Webpack 配置,但是网上并没有找到关于在 react-app-rewired 中添加 uglifyjs 插件的方法。 解决办法 在 npm 上搜寻了一番,找到了一个宝贝 – react-app-rewire-uglifyjs,通过这个包可以直接在 react-app-rewired 中使用 uglifyjs,使用方法如下 : 在 react-app-rewired 的配置文件 /config-overrides.js 这样写: const rewireUglifyjs = require('react-app-rewire-uglifyjs
package.json 设置: "dev": "PORT=8888 react-app-rewired start" 如下: { "name": "arco-design-pro", "version ": "1.0.0", "description": "Arco Design Pro", "scripts": { "start": "react-app-rewired start" , "dev": "PORT=8888 react-app-rewired start", "build": "react-app-rewired build", "eject"
参考文献 更新日期: 2020-02-09 "devDependencies": { "react-app-rewire-hot-loader": "^2.0.1", "react-app-rewired hot(module)(App) : App package.json Replace 'react-scripts' with 'react-app-rewired' in package.json "scripts": { "start": "react-app-rewired start", "build": "react-app-rewired build", " test": "react-app-rewired test --env=jsdom", "eject": "react-app-rewired eject" }, 参考文献 https: //github.com/cdharris/react-app-rewire-hot-loader https://github.com/timarney/react-app-rewired
create-react-app src 对 ,就叫src,舒服 然后再安装 ant.design mobile $ yarn add antd-mobile $ yarn add babel-plugin-import react-app-rewired --dev 4.进入src目录,修改package.json "scripts": { "start": "react-app-rewired start", "build": "react-app-rewired \\www /MIR) & exit 0)",, "test": "react-app-rewired test --env=jsdom", } 5.再src目录下,新建config-overrides.js const { injectBabelPlugin } = require('react-app-rewired'); module.exports = function override(config
安装react-app-rewired 由于新的 react-app-rewired@2.x 版本的关系,还需要安装 customize-cra。 react-app-rewired@2.0.2-next.0 --save-dev //这个版本比较稳定 修改package.json /* package.json */ "scripts": { "start": "react-app-rewired start", "build": "react-app-rewired build", "test": "react-app-rewired test --env=jsdom", } 安装 react-app-rewire-less-modules 根目录创建config-overrides.js并编辑以下代码 /*config-overrides.js */ const { injectBabelPlugin } = require('react-app-rewired
安装react-app-rewired由于新的 react-app-rewired@2.x 版本的关系,还需要安装 customize-cra。 react-app-rewired@2.0.2-next.0 --save-dev //这个版本比较稳定修改package.json/* package.json */“scripts”: {“start”: “react-app-rewired start”,“build”: “react-app-rewired build”,“test”: “react-app-rewired test --env=jsdom”,}安装css-modules react-app-rewire-less-modules根目录创建config-overrides.js并编辑以下代码/*config-overrides.js */const { injectBabelPlugin } = require(‘react-app-rewired
原来运行得好好的react项目,突然运行不成功了,提示如下错误 $ npm start > react-app-rewired start internal/modules/cjs/loader.js <anonymous> (D:\my_project\node_modules\react-app-rewired\scripts\start.js:18:23) at Module. my_project@0.1.0 start: `react-app-rewired start --scripts-version react-scripts-ts` npm ERR! The adjustment to paths made in react-app-rewired in order to continue to be able to be used with CRA 大致意思就是react-app-rewired这个插件升级导致了不会单独生成dev和prod配置文件了,所以导致文件找不到。
default index; 按需引入 npm install babel-plugin-import -s 安装插件,覆盖webpack配置 customize-cra配置api文档 npm install react-app-rewired customize-cra -s package.json进行更改命令方式 "scripts": { "start": "react-app-rewired start", "build ": "react-app-rewired build", "test": "react-app-rewired test", "eject": "react-app-rewired eject
一、antd的按需引入+自定义主题 1.安装依赖:npm install react-app-rewired customize-cra babel-plugin-import "scripts": { "start": "react-app-rewired start", "build": "react-app-rewired build", "test": "react-app-rewired test",
ant.design/index-cn Github: https://github.com/ant-design/ant-design/ 2.1. antd的按需引入+自定主题 安装依赖:yarn add react-app-rewired "myscripts": { "start": "react-app-rewired start", "build": "react-app-rewired build", "test ": "react-app-rewired test", "eject": "react-myscripts eject" }, ....
实现antd 样式按需引入 npm i react-app-rewired customize-cra 1.然后在项目根目录创建一个 config-overrides.js 用于修改默认配置。 自定义配置后要修改package.json /* 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", } 3.下载babel-plugin-import npm i babel-plugin-import 4.修改
使用 react-app-rewired: 如果你不想永久地暴露 Webpack 配置,但仍然想对其进行修改,你可以使用 react-app-rewired。 安装 react-app-rewired 和任何你想要使用的自定义配置插件(如 customize-cra)。 修改 package.json 中的脚本命令,使用 react-app-rewired 替换 react-scripts。
安装 react-app-rewired 和 customize-cra依赖: cnpm install react-app-rewired customize-cra --save-dev 修改 package.json 中的scripts项: "scripts": { "start": "react-app-rewired start", "build": "react-app-rewired build ", "test": "react-app-rewired test --env=jsdom", "eject": "react-scripts eject" }, 增加 config-overrides
配置css预处理器 - less; 设置alias、externals; 生产环境打包-去除console.log、debugger; 打包结果优化分析; 打包增加进度条提示; 前方高能预警~ 借助react-app-rewired 和customize-cra来完成配置的扩展~ 这里划重点,记住要考呦~ 我们划分几个步骤,来一一实现: 下载安装依赖 yarn add react-app-rewired customize-cra customize-cra@^1.0.0 配置package.json的命令 "scripts": { - "start": "react-scripts start", + "start": "react-app-rewired start", - "build": "react-scripts build", + "build": "react-app-rewired build", } 在根目录下配置config-overrides.js -D cross-env用于配置环境变量 配置 // package.json文件 "scripts": { "build:analyzer": "cross-env ANALYZER=true react-app-rewired
首先要安装三个重要的库: npm install react-app-rewired react-app-rewire-hot-loader react-hot-loader 根目录创建一个 config-overrides.js react-scripts build", "test": "react-scripts test --env=jsdom" } 修改成: "scripts": { "start": "react-app-rewired start", "build": "react-app-rewired build", "test": "react-app-rewired test --env=jsdom" } 启动的时候会自动寻找根目录下面的
定制CRA配置 react-app-rewired 可以在不 ‘eject’ 也不创建额外 react-scripts 的情况下修改 create-react-app 内置的 webpack 配置,然后你将拥有 2.2.1. react-app-rewired 安装 react-app-rewired $ yarn add -D react-app-rewired customize-cra 2.2.2. config-overrides.js package.json 中 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 --env=jsdom", + "test": "react-app-rewired test --env=jsdom", "eject": "react-scripts eject
customize-cra babel-plugin-import less less-loader 注意到上面我们安装了很多包,我们来依次解释一下上面各种包的意思: react-app-rewired customize-cra:是 CRA 在发布 2.0 之后出来的一个辅助 react-app-rewired 更方便定制 CRA 的 Webpack 配置的一个库,它提供了一些开箱即用的 API。 接下来就需要改写一下 CRA 之前通过 react-scripts 跑开发构建的流程,用我们安装的 react-app-rewired 脚本来替换它,当安装完了所以依赖,以及用react-app-rewired start", "build": "react-app-rewired build", "test": "react-app-rewired test", "eject": " 修改配置 安装完依赖之后,我们要确保对应改写 CRA 流程的配置生效,我们需要根据 react-app-rewired 的文档说明在根目录下建立 config-overrides.js 文件,并在其中编写如下的内容
通过react-app-rewired覆盖配置. 后续需要修改配置的都用第二种--覆盖配置。 首先安装依赖 在 2.1.x 版本的 react-app-rewired 需要配合customize-cra来进行配置覆盖。 所以需要安装如下依赖: react-app-rewired ,配置覆盖 customize-cra ,配置覆盖 antd ,ui 库 babel-plugin-import ,按需引入 antd less less less-loader 修改 package.json 用react-app-rewired替换掉原来的react-scripts /* package.json */ "scripts": build", + "build": "react-app-rewired build", - "test": "react-scripts test", + "test": "react-app-rewired
1.npx create-react-app my-app 需要node版本>14.x 2.按需加载:npm add react-app-rewired customize-cra babel-plugin-import build": "react-app-rewried build", "test": "react-app-rewried test" }, "dependencies": { "react-app-rewired
官方不支持本地调试开启 sass 的 sourcemap(今年 3 月的某个版本曾经支持过),笔者也没有找到 react-app-rewired 支持的方法,所以修改了 config-overrides.js [QQ20190718-175333.png] 我们目前用的是 react-app-rewired 来新增项目的 webpack 配置,但是没有找到开启 sourcemap 的方法。