react 不eject扩展webpack
栏目: JavaScript · 发布时间: 6年前
内容简介:使用
使用 create-react-app
生成项目,不会有 webpack
的配置项,要导出 webpack
,必须使用 react-script eject
,但这是一个单向操作, eject
后,就无法恢复了。如果只是修改一些简单的配置, eject
是没有必要的。
1、使用 react-app-rewired
包替换 react-script
react-app-rewired@^2.0.0+
版本需要搭配 customize-cra
使用
# https://www.npmjs.com/package/react-app-rewired # https://www.npmjs.com/package/customize-cra $ npm i react-app-rewired -D $ npm i customize-cra -D 复制代码
2、在项目根目录创建 config-overrides.js
3、使用 react-app-rewired
配置 alias
# ./config-overrides.js const { override, addWebpackAlias } = require('customize-cra') const path = require('path') const resolve = dir => path.join(__dirname, '.', dir) module.exports = override( addWebpackAlias({ ['@']: resolve('src') }) ) 复制代码
4、添加 react-hot-reloader
# https://www.npmjs.com/package/react-hot-loader # https://github.com/cdharris/react-app-rewire-hot-loader $ npm i react-hot-loader -D $ npm i react-app-rewire-hot-loader -D 复制代码
5、修改 config-overrides.js
# https://github.com/arackaf/customize-cra/issues/54 # ./config-overrides.js const { override, addWebpackAlias } = require('customize-cra') const path = require('path') const resolve = dir => path.join(__dirname, '.', dir) module.exports = override( addWebpackAlias({ ['@']: resolve('src') }), (config, env) => { config = rewireReactHotLoader(config, env) return config } ) 复制代码
6、在根组件处开启 react-hot-reloader
# ./App.jsx import { hot } from 'react-hot-loader/root' ... ... ... export default process.env.NODE_ENV === 'development' ? hot(App) : App; 复制代码
7、引入 antd
按需加载
+ const { override, fixBabelImports, addWebpackAlias } = require('customize-cra') const rewireReactHotLoader = require('react-app-rewire-hot-loader') const path = require('path') const resolve = dir => path.join(__dirname, '.', dir) module.exports = override( + fixBabelImports('import', { + libraryName: 'antd', + libraryDirectory: 'es', + style: 'css' + }), addWebpackAlias({ ['@']: resolve('src') }), (config, env) => { config = rewireReactHotLoader(config, env) return config } ) 复制代码
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 【php 扩展开发】扩展生成器
- 喧喧发布 1.6.0 版本,扩展机制增强,支持服务器扩展
- 为vscode编写扩展
- JavaScript——DOM扩展
- Mac内核扩展开发
- VisualStudio 扩展开发
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深入理解计算机系统(英文版·第2版)
[美] Randal E. Bryant、[美] David R. O'Hallaron / 机械工业出版社 / 2011-1 / 128.00元
本书是一本将计算机软件和硬件理论结合讲述的经典教程,内容覆盖计算机导论、体系结构和处理器设计等多门课程。本书的最大优点是为程序员描述计算机系统的实现细节,通过描述程序是如何映射到系统上,以及程序是如何执行的,使读者更好地理解程序的行为为什么是这样的,以及造成效率低下的原因。 相对于第1版,本版主要是反映了过去十年间硬件技术和编译器的变化,具体更新如下: 1. 对系统的介绍(特别是实际使......一起来看看 《深入理解计算机系统(英文版·第2版)》 这本书的介绍吧!
CSS 压缩/解压工具
在线压缩/解压 CSS 代码
图片转BASE64编码
在线图片转Base64编码工具