CRA
当我们使用 cra 脚手架搭建我们的项目时如果需要配置 webpack 又不想运行 eject 命令 因为该命令是不可逆的 会暴露出所有的 webpack 配置 这时该怎么办呢
Step1
安装 customize-cra react-app-rewired
yarn add customize-cra react-app-rewired -D
Step2
根目录下新建config-overrides.js 内容如下 以配置路径别名为例子
更多功能可参考
const { override, addWebpackAlias } = require('customize-cra');
const path = require('path');
module.exports = override(
// add an alias for "ag-grid-react" imports
addWebpackAlias({
'@': path.resolve(__dirname, './src'),
'@store': '@/store',
'@components': '@/components',
'@containers': '@/containers',
'@hooks': '@/hooks',
'@router': '@/router',
'@type': '@/type',
'@utils': '@/utils',
'@styles': '@/styles',
'@assets': '@/assets',
})
);Step3
配置tsconfig.json
但是每次程序运行时 tsconfig.json 都会被重新生成 我们配置的 paths 会消失
可以用extends字段 配置如下
新建 path.json 里面放入我们的路径配置
然后修改 tsconfig.json
Step4
将package.json中 scripts 字段下的所有 react-scripts 命令改成 react-app-rewired 如下
Last updated
Was this helpful?