Vue或者React項目配置@路徑別名及智能提示方案
置別名路徑
以create-react-app創(chuàng)建的React項目為例,帶領(lǐng)大家配置@路徑別名。
本節(jié)目標(biāo): 能夠配置@路徑簡化路徑處理
CRA 將所有工程化配置,都隱藏在了 react-scripts 包中,所以項目中看不到任何配置信息
如果要修改 CRA 的默認(rèn)配置,有以下幾種方案:
- 通過第三方庫來修改,比如,
@craco/craco(推薦) - 通過執(zhí)行
yarn eject命令,釋放react-scripts中的所有配置到項目中
實現(xiàn)步驟
- 安裝修改 CRA 配置的包:
yarn add -D @craco/craco - 在項目根目錄中創(chuàng)建 craco 的配置文件:
craco.config.js,并在配置文件中配置路徑別名 - 修改
package.json中的腳本命令 - 在代碼中,就可以通過
@來表示 src 目錄的絕對路徑 - 重啟項目,讓配置生效
代碼實現(xiàn)
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路徑,但是我們發(fā)現(xiàn)此時并不好用。

代碼只能引入還是自動引入../路徑,手動輸入@符號時,也沒有路徑提示。
遇到這個問題,我們有兩種非常簡單的解決方案
方案一:path-alias插件
VsCode的插件生態(tài)不可謂不豐富,工欲善其事,必先利其器!我們前往VsCode的插件市場,搜索并下載path-alias插件,這個插件能幫我們做到@符號路徑別名的智能提示。
未安裝效果:未安裝效果與上圖中一樣,不能智能導(dǎo)入,甚至手動導(dǎo)入時都無法顯示路徑。
安裝后不光具備路徑別名智能提示,還可以點擊別名路徑跳轉(zhuǎn)到該文件

選擇性配置:
path-alias插件只默認(rèn)配置路徑@映射到項目的src目錄,如果需要配置其他的路徑別名的智能提示的話,需要進(jìn)入VsCode的setting.json文件中,添加:
// 開發(fā)項目時使用路徑別名時會有"智能提示"
"pathAlias.aliasMap": {
// key是你要定義的別名 | 使用${cwd}來代替當(dāng)前工作目錄的絕對路徑
"@": "${cwd}/src",
"~": "${cwd}/src",
"components": "${cwd}/src/components"
},此時,輸入component也有會智能提示了

使用path-alias插件缺點:該插件占用內(nèi)存較大,如果內(nèi)存吃緊的話,可以使用方案二來解決智能路徑提示的問題。
方案二:jsconfig.json文件
- 在你的項目根目錄下新建: jsconfig.ison文件
- 內(nèi)存小時使用,復(fù)制如下到你的文件,重啟vscode即可
{
"compilerOptions": {
"experimentalDecorators": true,
"baseUrl": "./",
"paths": {
"@/*": ["src/*"],
"components/*": ["src/components/*"],
"assets/*": ["src/assets/*"],
"views/*": ["src/views/*"],
"common/*": ["src/common/*"],
}
},
"exclude": ["node_modules", "dist"]
}總結(jié)一下
如果想一次配置且不在乎占用內(nèi)存情況,建議直接使用path-alias插件
如果本機內(nèi)存不夠或覺得這個插件使用體驗不佳, 建議使用 jsconfig.json
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue表格n-form中自定義增加必填星號的實現(xiàn)代碼
這篇文章主要介紹了vue表格n-form中自定義增加必填星號,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-12-12
vue3+elementui-plus實現(xiàn)無限遞歸菜單示例代碼
這篇文章主要介紹了vue3+elementui-plus實現(xiàn)無限遞歸菜單,當(dāng)一個組件的 key 值發(fā)生變化時,Vue 會認(rèn)為這是一個新的組件實例,會強制重新創(chuàng)建和渲染這個組件,本文通過示例代碼詳細(xì)講解,需要的朋友可以參考下2024-04-04

