步骤:
1. 安装修改 CRA 配置的包:yarn add -D @craco/craco
2. 在项目根目录中创建 craco 的配置文件:craco.config.js,并在配置文件中配置路径别名
3. 修改 package.json 中的脚本命令
4. 在代码中,就可以通过 @ 来表示 src 目录的绝对路径
5. 重启项目,让配置生效
/craco.config.js 中:
const path = require('path')
module.exports = {
// webpack 配置
webpack: {
// 配置别名
alias: {
// 约定:使用 @ 表示 src 文件所在路径
'@': path.resolve(__dirname, 'src'),
// 约定:使用 @scss 表示全局 SASS 样式所在路径
// 在 SASS 中使用
'@scss': path.resolve(__dirname, 'src/assets/styles')
}
}
}
package.json 中:
// 将 start/build/test 三个命令修改为 craco 方式
"scripts": {
"start": "craco start",
"build": "craco build",
"test": "craco test",
"eject": "react-scripts eject"
},
@别名路径提示
因为项目使用了 TS,而 TS 带有配置文件 tsconfig.json。因此,不需要再使用 jsconfig.json(实际上,jsconfig.json 是参考 tsconfig.json 的)
VSCode 会自动读取 tsconfig.json
中的配置,让 vscode 知道 @ 就是 src 目录
步骤:
-
创建
path.tsconfig.json
配置文件 -
在该配置文件中添加以下配置
-
在
tsconfig.json
中导入该配置文件,让配置生效 -
重启 VSCode
/path.tsconfig.json 中:
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@/*": ["src/*"],
"@scss/*": ["src/assets/styles/*"]
}
}
}
/tsconfig.json 中:
{
// 导入配置文件
"extends": "./path.tsconfig.json",
}