跳轉至

建立 2026-09-16 更新 2026-09-16

靜態資源與 CSS 處理

圖片、字型、CSS 是幾乎每個前端專案都會用到的資源。Vite 對這些資源提供開箱即用的處理方式,不需要額外設定 loader,本頁說明常見用法與需要注意的細節。

import 圖片與檔案

src/ 內可以直接 import 圖片、SVG 等檔案,Vite 會回傳處理後的最終路徑:

import logo from './assets/logo.png'

document.querySelector('#app').innerHTML = `<img src="../${logo}" />`

打包時,Vite 會依檔案大小決定處理方式:

  • 小於預設門檻(4 KB)的檔案:轉為 base64 內嵌到 JavaScript/CSS 中,省去一次額外的網路請求。
  • 大於門檻的檔案:複製到輸出目錄,檔名加上內容雜湊,並回傳雜湊後的路徑,方便長效快取。

這個門檻可透過 vite.configbuild.assetsInlineLimit 調整。

public/ 目錄:不經處理的資源

若某個檔案需要以固定、可預期的路徑存取(例如 favicon.icorobots.txt,或需要寫死在 HTML <meta> 標籤裡的圖片),應放在專案根目錄的 public/,並用絕對路徑引用:

<link rel="icon" href="/favicon.ico" />

public/ 內的檔案建置時會原封不動複製到輸出目錄,不會被雜湊、不會被壓縮,也不能被 JavaScript import。兩種方式的選擇原則:需要固定檔名或路徑 → 放 public/;其餘一般資源 → 用 import,讓 Vite 幫忙做快取與最佳化。

CSS 與預處理器

Vite 對 CSS 提供原生支援,直接 import '.css' 即可:

import './style.css'

也支援 @importCSS Modules(檔名為 *.module.css 會自動啟用)。若要使用 Sass、Less、Stylus 等預處理器,只需要安裝對應套件,不需要額外設定 Vite:

npm install -D sass

安裝完成後,直接 import './style.scss' 即可,Vite 會自動偵測副檔名並呼叫對應的預處理器。

PostCSS 與 Tailwind CSS

Vite 內建支援 PostCSS,只要專案根目錄有 postcss.config.js,就會自動套用。這也是 Tailwind CSS 等以 PostCSS 為基礎的工具能與 Vite 無縫整合的原因——安裝對應套件並設定好 postcss.config,不需要另外調整 vite.config

相關資料