<script setup> 都不需要額外的 bundler 串接設定。
什麼情況下適合使用 Vue
- 你已經有正式上線的 Vue 應用程式。
- 你偏好以 Vue SFC 撰寫,並搭配 scoped 樣式與 Composition API。
- 你希望擴充功能的 UI 介面能反映既有的 Vue 架構。
範本範例
new-vue

content-vue

在既有擴充功能中使用
依下列步驟把 Vue 加入既有擴充功能。安裝
安裝所需相依套件: 如果要在既有專案中明確設定,也安裝 Vue 的 SFC 工具鏈:設定
Extension.js 會期望 Vue 元件位於.vue 檔案。它會在 Rspack pipeline 中設定 vue-loader、VueLoaderPlugin 與 Vue 相關的 define flag。
開發行為
當 Extension.js 偵測到 Vue 時,會:- 在框架 plugin 中啟用
.vue編譯。 - 套用 Vue 執行期別名(讓 runtime 解析保持一致)。
- 在 Vue SFC 變動時,透過重新掛載支援 content script 的更新。
疑難排解
- 缺少 Vue 工具的警告: 安裝
vue-loader與@vue/compiler-sfc。 - 安裝後要求重新啟動: 停止並重新執行
extension dev,讓 Extension.js 可以載入剛安裝的 loader/plugin。 .vue處理出現非預期問題: 請確認vue已出現在專案相依套件中,讓 Extension.js 能偵測 Vue 整合。
使用範例
在 new tab 擴充功能中
要在 new tab 擴充功能中使用 Vue,請在 HTML 中包含你的入口檔:在 content_script 檔中
對於 content script,將 Vue app 掛載到注入的根節點:
最佳實務
- 讓 UI 入口維持以框架為主(
main.ts、App.vue),並把擴充功能 API 放在專屬模組。 - 在 SFC 中盡量使用 scoped 樣式,降低擴充功能頁面的樣式外洩。
- 對於較大的 UI,將元件與共用 composable 拆分,讓 content script 保持精簡。
下一步
- 進一步了解 TypeScript 支援。
- 探索 Sass 與 Sass modules。

