Vue或者React項(xiàng)目配置@路徑別名及智能提示方案
置別名路徑
以create-react-app創(chuàng)建的React項(xiàng)目為例,帶領(lǐng)大家配置@路徑別名。
本節(jié)目標(biāo): 能夠配置@路徑簡化路徑處理
CRA 將所有工程化配置,都隱藏在了 react-scripts
包中,所以項(xiàng)目中看不到任何配置信息
如果要修改 CRA 的默認(rèn)配置,有以下幾種方案:
- 通過第三方庫來修改,比如,
@craco/craco
(推薦) - 通過執(zhí)行
yarn eject
命令,釋放react-scripts
中的所有配置到項(xiàng)目中
實(shí)現(xiàn)步驟
- 安裝修改 CRA 配置的包:
yarn add -D @craco/craco
- 在項(xiàng)目根目錄中創(chuàng)建 craco 的配置文件:
craco.config.js
,并在配置文件中配置路徑別名 - 修改
package.json
中的腳本命令 - 在代碼中,就可以通過
@
來表示 src 目錄的絕對路徑 - 重啟項(xiàng)目,讓配置生效
代碼實(shí)現(xiàn)
craco.config.js
const path = require('path') module.exports = { // webpack 配置 webpack: { // 配置別名 alias: { // 約定:使用 @ 表示 src 文件所在路徑 '@': path.resolve(__dirname, 'src') } } }
package.json
// 將 start/build/test 三個(gè)命令修改為 craco 方式 "scripts": { "start": "craco start", "build": "craco build", "test": "craco test", "eject": "react-scripts eject" }
路徑別名智能提示方案
在配置好別名路徑之后,我們可以使用@
符號代替*/src
路徑,但是我們發(fā)現(xiàn)此時(shí)并不好用。
代碼只能引入還是自動(dòng)引入../
路徑,手動(dòng)輸入@
符號時(shí),也沒有路徑提示。
遇到這個(gè)問題,我們有兩種非常簡單的解決方案
方案一:path-alias插件
VsCode的插件生態(tài)不可謂不豐富,工欲善其事,必先利其器!我們前往VsCode的插件市場,搜索并下載path-alias插件
,這個(gè)插件能幫我們做到@符號路徑別名的智能提示。
未安裝效果:未安裝效果與上圖中一樣,不能智能導(dǎo)入,甚至手動(dòng)導(dǎo)入時(shí)都無法顯示路徑。
安裝后不光具備路徑別名智能提示,還可以點(diǎn)擊別名路徑跳轉(zhuǎn)到該文件
選擇性配置:
path-alias
插件只默認(rèn)配置路徑@映射到項(xiàng)目的src目錄,如果需要配置其他的路徑別名的智能提示的話,需要進(jìn)入VsCode的setting.json
文件中,添加:
// 開發(fā)項(xiàng)目時(shí)使用路徑別名時(shí)會有"智能提示" "pathAlias.aliasMap": { // key是你要定義的別名 | 使用${cwd}來代替當(dāng)前工作目錄的絕對路徑 "@": "${cwd}/src", "~": "${cwd}/src", "components": "${cwd}/src/components" },
此時(shí),輸入component
也有會智能提示了
使用path-alias插件缺點(diǎn):該插件占用內(nèi)存較大,如果內(nèi)存吃緊的話,可以使用方案二來解決智能路徑提示的問題。
方案二:jsconfig.json文件
- 在你的項(xiàng)目根目錄下新建: jsconfig.ison文件
- 內(nèi)存小時(shí)使用,復(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插件
如果本機(jī)內(nèi)存不夠或覺得這個(gè)插件使用體驗(yàn)不佳, 建議使用 jsconfig.json
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue表格n-form中自定義增加必填星號的實(shí)現(xiàn)代碼
這篇文章主要介紹了vue表格n-form中自定義增加必填星號,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-12-12離線搭建vue環(huán)境運(yùn)行項(xiàng)目完整步驟
這篇文章主要給大家介紹了關(guān)于離線搭建vue環(huán)境運(yùn)行項(xiàng)目的相關(guān)資料,文中通過實(shí)例代碼以及圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-06-06vue3+elementui-plus實(shí)現(xiàn)無限遞歸菜單示例代碼
這篇文章主要介紹了vue3+elementui-plus實(shí)現(xiàn)無限遞歸菜單,當(dāng)一個(gè)組件的 key 值發(fā)生變化時(shí),Vue 會認(rèn)為這是一個(gè)新的組件實(shí)例,會強(qiáng)制重新創(chuàng)建和渲染這個(gè)組件,本文通過示例代碼詳細(xì)講解,需要的朋友可以參考下2024-04-04