
欢迎来到我的博客
📔博主是一名大学在读本科生,主要学习方向是前端。
🍭目前已经更新了【Vue】、【React–从基础到实战】、【TypeScript】等等系列专栏
🛠目前正在学习的是🔥 R e a c t 框架 React框架 React框架🔥,中间穿插了一些基础知识的回顾
🌈博客主页👉codeMak1r.小新的博客
🕹坚持创作✏️,一起学习📖,码出未来👨🏻💻!
以create-react-app创建的React项目为例,带领大家配置@路径别名。
本节目标: 能够配置@路径简化路径处理
CRA 将所有工程化配置,都隐藏在了 react-scripts 包中,所以项目中看不到任何配置信息
如果要修改 CRA 的默认配置,有以下几种方案:
@craco/craco (推荐)yarn eject 命令,释放 react-scripts 中的所有配置到项目中实现步骤
yarn add -D @craco/cracocraco.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"
}
在配置好别名路径之后,我们可以使用@符号代替*/src路径,但是我们发现此时并不好用。

代码只能引入还是自动引入../路径,手动输入@符号时,也没有路径提示。
遇到这个问题,我们有两种非常简单的解决方案
VsCode的插件生态不可谓不丰富,工欲善其事,必先利其器!我们前往VsCode的插件市场,搜索并下载
path-alias插件,这个插件能帮我们做到@符号路径别名的智能提示。
未安装效果:未安装效果与上图中一样,不能智能导入,甚至手动导入时都无法显示路径。
安装后不光具备路径别名智能提示,还可以点击别名路径跳转到该文件

选择性配置:
path-alias插件只默认配置路径@映射到项目的src目录,如果需要配置其他的路径别名的智能提示的话,需要进入VsCode的setting.json文件中,添加:
// 开发项目时使用路径别名时会有"智能提示"
"pathAlias.aliasMap": {
// key是你要定义的别名 | 使用${cwd}来代替当前工作目录的绝对路径
"@": "${cwd}/src",
"~": "${cwd}/src",
"components": "${cwd}/src/components"
},
此时,输入component也有会智能提示了
使用path-alias插件缺点:该插件占用内存较大,如果内存吃紧的话,可以使用方案二来解决智能路径提示的问题。
{
"compilerOptions": {
"experimentalDecorators": true,
"baseUrl": "./",
"paths": {
"@/*": ["src/*"],
"components/*": ["src/components/*"],
"assets/*": ["src/assets/*"],
"views/*": ["src/views/*"],
"common/*": ["src/common/*"],
}
},
"exclude": ["node_modules", "dist"]
}
如果想一次配置且不在乎占用内存情况,建议直接使用
path-alias插件
如果本机内存不够或觉得这个插件使用体验不佳, 建议使用jsconfig.json