使用create-react-app腳手架搭建的react工程,webpack和相關的依賴都已經配置好了,開發編譯打包都很省心。但是隨著項目的深入,難免會遇到要改webpack配置的情況。
修改webpack配置的方法
執行npm run eject命令
create-react-app創建的工程,打開package.json文件,可以看到對react-scripts的依賴,就是它幫我們搞定了那些令人頭疼的配置。
有興趣的可以在node_modules里找到這個依賴,npm run eject命令就是把這個依賴分解出來。
執行eject之后,會刪除react-scripts依賴,把webpack的配置文件分解到config文件夾,把相關的依賴添加到當前工程的package.json里。
react-scripts
使用react-app-rewired
一般我們要改的配置并不多,這種情況下一個更好的選擇是react-app-rewired,不需要生成一堆配置文件。
使用步驟:
- 安裝相關的依賴:
npm i react-app-rewired --save-dev
npm i customize-cra --save-dev
- 修改package.json的scripts為
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test",
"eject": "react-scripts eject"
}
- 在根目錄下添加config-overrides.js配置文件
具體支持的配置可以查看customize-cra文檔
config-overrides.js
接下來需要添加或者修改webpack的配置,只需要關心config-overrides.js一個文件,非常清晰簡潔。