iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0
影片教學

Nuxt 3 快速入門系列 第 22

[影片教學] Nuxt 3 靜態資源的管理 - Public & Assets

  • 分享至 

  • xImage
  •  

Yes

👆建議你可以使用影片子母畫面功能或全螢幕播放來獲得最佳的觀賞體驗,👇下方是本篇教學的相關筆記。


Public 目錄

在 Nuxt 3 的專案根目錄下,存在一個名為 public 的目錄,這個目錄如同 Vue 中的 public 目錄或 Nuxt 2 中的 static 目錄。這個目錄下的檔案,將會由 Nuxt 直接於網站的根路徑,例如 / 提供存取。

Public 目錄下檔案的特性

  • 不會經過編譯與最佳化
  • 可以直接訪問
  • 無需額外載入

Public 目錄下的檔案不會經過 Vite 或 Webpack 打包工具編譯處理,最終檔案名稱也會與存在在 Public 內的檔案名稱相同。

Public 目錄適合放置固定或不常變動的檔案

  • favicon.ico
  • robots.txt
  • sitemap.xml
  • etc.

Assets 目錄

Nuxt 3 使用 Vite 或 Webpack 來建構專案進行打包,這些建構工具主要功能是用來處理 Vue、JavaScript 檔案將其編譯、轉換或壓縮等,但它們可以透過各自的插件或 Loader 來處理其他檔案類型的資源,例如 Sass 的樣式就會經過插件或 Loader 來進行 CSS 的預處理及編譯,這些靜態資源通常也會放置在 Assets 目錄,例如樣式、字體、圖片等。

Assets 目錄下檔案的特性

  • 編譯與最佳化
  • 無法直接對應與訪問
  • 使用時需要明確的載入

因為 Assets 目錄下檔案會經過編譯與最佳化處理,所以產生出來的檔案可能跟原始檔案不同,甚至會產生包含 Hash 雜湊字串的檔案名稱來提供訪問,加上 Hash 字串主要可以是為了解決瀏覽器可能快取著上一個網站打包版本的靜態資源或 Vue 程式碼檔案。

Assets 目錄適合放置需要最佳化的檔案

  • JavaScript
  • CSS
  • 字體
  • 圖片
  • etc.

Public 目錄與 Assets 目錄的特性與差異

特性 Public 目錄 Assets 目錄
使用方式 網址 需要載入
最佳化 ❌ 否 ✅ 是
透過網址訪問 ✅ 根目錄下 🚧 會添加 Hash
適合檔案性質 不常變動 經常變動

感謝大家的閱讀,歡迎大家給予建議與討論,也請各位大大鞭小力一些:)
如果對這個 Nuxt 3 系列感興趣,可以訂閱接收通知,也歡迎分享給喜歡或正在學習 Nuxt 3 的夥伴。

範例程式碼

參考資料


上一篇
[影片教學] Nuxt 3 使用 I18n 建立多國語系
下一篇
[影片教學] Nuxt 3 建立第一個網站 - 實戰部落格系列 Part 1
系列文
Nuxt 3 快速入門30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言