Quasar CLI 與 Vite - @quasar/app-vite
在設定任何東西之前,我們需要了解 BEX 的結構。一個 BEX 可以是以下一個(或多個)
您不需要為上述每種 BEX 類型建立新的 Quasar 應用程式,因為單個 Quasar 應用程式可以在上述所有實例中執行。您可以在類型章節中找到更多相關資訊。
/src 中的 UI
如果您想要修改 /src 中 UI 的 Vite 設定
module.exports = function (ctx) {
return {
build: {
extendViteConf (viteConf) {
if (ctx.mode.bex) {
// do something with ViteConf
}
}
}
}
}
content_paste
當您建置(或開發)瀏覽器擴充功能時,UI 檔案將被注入並以 www
資料夾的形式提供。
Manifest.json
對於您的 BEX 來說,最重要的設定檔是 /src-bex/manifest.json
。建議您在開始專案之前,先閱讀有關此檔案的資訊。
當您首次新增 BEX 模式時,系統會詢問您喜歡哪個瀏覽器擴充功能 Manifest 版本
? What version of manifest would you like? (Use arrow keys)
❯ Manifest v2 (works with both Chrome and FF)
Manifest v3 (works with Chrome only currently)
content_paste
背景和內容腳本
每個 BEX 的背後都有一個內容腳本和一個背景腳本 / Service Worker。最好在編寫您的第一個 BEX 之前,先了解它們各自是什麼。
總結
- 背景腳本 - 在 BEX 本身的上下文中執行,並且可以監聽所有可用的瀏覽器擴充功能事件。每個 BEX 的每個背景腳本只會有一個實例。
- 內容腳本 - 在網頁的上下文中執行。每個執行擴充功能的分頁都會有一個新的內容腳本實例。
提示
由於內容腳本在網頁上下文中執行,這表示只有與網頁互動的 BEX 才能使用內容腳本。彈出視窗、「選項」和「開發人員工具」不會在其後執行內容腳本。但是,它們都會有背景腳本。
警告
Service Worker 在Manifest v3中可用,僅在搭配 Vite 的 Quasar CLI 中實作。更多詳細資訊請參閱此處。
CSS
任何您希望提供給網頁(而非您的 Quasar 應用程式)的樣式都應該包含在 src-bex/assets/content.css
中,因為此檔案會自動注入到 manifest.json
檔案中。
警告
這必須是原生 CSS,因為它不會透過 Sass 預先處理。