配置路径别名
目标:能够配置@路径别名简化路径处理
内容:
文档:antd 自定义 CRA 的默认配置
文档:craco 配置文档
- 注意:CRA 将所有工程化配置,都隐藏在了
react-scripts
包中,所以,项目中看不到任何配置信息 - 如果要修改 CRA 的默认配置,有以下几种方案:
- 【推荐】通过第三方库来修改,比如,
@craco/craco
- 通过执行
yarn eject
命令,释放react-scripts
中的所有配置到项目中(注意:该操作不可逆!!!)
- 【推荐】通过第三方库来修改,比如,
步骤:
- 安装修改 CRA 配置的包:
yarn add -D @craco/craco
- 在项目根目录中创建 craco 的配置文件:
craco.config.js
,并在配置文件中配置路径别名 - 修改
package.json
中的脚本命令 - 在代码中,就可以通过
@
来表示 src 目录的绝对路径 - 重启项目,让配置生效
核心代码:
/craco.config.js 中:
const path = require('path')
module.exports = {
// webpack 配置
webpack: {
// 配置别名
alias: {
// 约定:使用 @ 表示 src 文件所在路径
'@': path.resolve(__dirname, 'src')
}
}
}
package.json 中:
// 将 start/build/test 三个命令修改为 craco 方式
"scripts": {
"start": "craco start",
"build": "craco build",
"test": "craco test",
"eject": "react-scripts eject"
},
@别名路径提示
目标:能够让vscode识别@路径并给出路径提示
步骤:
- 在项目根目录创建
jsconfig.json
配置文件 - 在配置文件中添加以下配置
核心代码:
/jsconfig.json 中:
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@/*": ["src/*"]
}
}
}
总结:
- VSCode 会自动读取
jsconfig.json
中的配置,让 vscode 知道 @ 就是 src 目录