通過react腳手架[create-react-app]創建的項目,如果需要在項目中配置一些webpack配置,需要在根目錄下新建一個名稱為config-overrides.js的文件。
一、配置步驟:
1、引入react-app-rewired插件
react-app-rewired的作用就是在不eject的情況下,覆蓋create-react-app的配置
2、安裝customize-cra
$ npm install react-app-rewired customize-cra --save-dev
3、修改 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 --env=jsdom",
+ "test": "react-app-rewired test --env=jsdom",
}
二、應用步驟
1、配置文件路徑別名
const { override, addWebpackAlias} = require('customize-cra');
const path = require('path')
module.exports = override(
addWebpackAlias({
assets: path.resolve(__dirname, './src/assets'),
components: path.resolve(__dirname, './src/components'),
pages: path.resolve(__dirname, './src/pages'),
common: path.resolve(__dirname, './src/common')
})
);
2、在開發過程中,我們經常會用到Ant Design Mobile這個組件庫,在引入組件的同時,往往還需要引入組件的css樣式,如果每次都單獨引入就比較麻煩,我們可以在config-overrides文件下全局配置一下。如下:
const { override, fixBabelImports} = require('customize-cra');
module.exports = override(
fixBabelImports('import', {
libraryName: 'antd-mobile',
style: 'css',
}),
);