
前言
在撰寫引入路徑時會發現撰寫相對位置的路徑既又繁瑣又難維護,可以透過額外設置路徑別名來解決這個問題。
為什麼需要路徑別名(Aliases)
當網站規模愈複雜,使用相對關係路徑就會需要花費很多心力去解讀與撰寫,舉例來說在 src/pages/about/company.astro
檔案中需要引入在 src/components/global/
內的 Button.astro
元件在撰寫路徑時就需要理解兩個檔案之間的關係,並且當其中有任何一方移動時路徑就需要修改。
---<!-- 又長又難寫! -->import Button from '../../components/global/Button.astro'---
解決辦法
可以設定專案的「路徑別名」在 tsconfig.json
或 jsconfig.json
中:
{ "compilerOptions": { "baseUrl": ".", "paths": { "@components/*": ["src/components/*"] } }}
這樣只需要在路徑上使用別名即可,不用考慮檔案之間的路徑關係:
---import Button from '@components/global/Button.astro---
總結
實際上 Astro 的路徑別名設定上與 Vite 一模一樣。
延伸閱讀
- Aliases - Astro DOCS
- Day23 - 路徑別名 - 相同文章同步發布於 iThome 鐵人賽中
2023 iThome 鐵人賽 - Astro 系列
- Astro 系列文第三十日:系列回顧與反省
- Astro 系列文第二十九日:製作作品集參考
- Astro 系列文第二十八日:近期與資源雜談
- Astro 系列文第二十七日:視圖過度
- Astro 系列文第二十六日:建構網頁概念篇
- Astro 系列文第二十五日:基礎指令與設定
- Astro 系列文第二十四日:添加 ESLint 與 Prettier
- Astro 系列文第二十三日:路徑別名
- Astro 系列文第二十二日:環境變數
- Astro 系列文第二十一日:部屬升空
- Astro 系列文第二十日:實作搜尋功能
- Astro 系列文第十九日:RSS 端點
- Astro 系列文第十八日:實作集合分類功能
- Astro 系列文第十七日:頁籤
- Astro 系列文第十六日:內容集合
- Astro 系列文第十五日:基礎布局
- Astro 系列文第十四日:圖片最佳化
- Astro 系列文第十三日:Markdown 與 MDX
- Astro 系列文第十二日:基礎路由
- Astro 系列文第十一日:全域狀態管理
- Astro 系列文第十日:整合 UI 框架
- Astro 系列文第九日:腳本
- Astro 系列文第八日:實作整合 Tailwind
- Astro 系列文第七日:實作按鈕元件
- Astro 系列文第六日:樣式
- Astro 系列文第五日:基礎元件
- Astro 系列文第四日:基礎指令與設定
- Astro 系列文第三日:建構新專案
- Astro 系列文第二日:現有問題與解方
- Astro 系列文第一日:起飛前置準備