> ## Documentation Index
> Fetch the complete documentation index at: https://extension.js.org/llms.txt
> Use this file to discover all available pages before exploring further.

# 擴充功能實作指南與執行模型

> 使用 Extension.js 的執行模型打造瀏覽器擴充功能功能。涵蓋 manifest 合約、進入點、特殊資料夾與瀏覽器限制。

在你撰寫真實擴充功能功能時，理解最重要的幾項合約。理解 `manifest.json` 控制什麼，以及 Extension.js 會改寫哪些進入點。然後判斷哪些行為可以放心交給自動化處理，哪些限制依然存在。

## 依需求開始

| 需求                                         | 先讀這個                                                                            |
| ------------------------------------------ | ------------------------------------------------------------------------------- |
| 了解一份 manifest 如何變成各瀏覽器專屬輸出                 | [manifest.json](/docs/implementation-guide/manifest-json)                       |
| 決定你的功能實際需要哪些權限                             | [權限與 host 權限](/docs/implementation-guide/permissions-and-host-permissions)      |
| 在 popup、content script 與 background 之間傳遞資料 | [Messaging](/docs/implementation-guide/messaging)                               |
| 持久化設定或快取執行階段資料                             | [Storage](/docs/implementation-guide/storage)                                   |
| 打造整合頁面的行為                                  | [Content script](/docs/implementation-guide/content-scripts)                    |
| 打造事件驅動的全域擴充功能邏輯                            | [Background script／service worker](/docs/implementation-guide/background)       |
| 安全地對頁面公開打包資產                               | [Web-accessible resources](/docs/implementation-guide/web-accessible-resources) |
| 維持可預測的輸出路徑                                 | [可預期的路徑解析](/docs/features/path-resolution)                                      |

## 本章節涵蓋什麼

* 光看 CLI 文件容易遺漏的撰寫合約。
* 由你的原始碼驅動、會影響擴充功能載入與重新載入方式的執行階段行為。
* 即使在打包之後仍然重要的瀏覽器擴充功能架構議題，例如權限、messaging、storage，以及 background、content script 與頁面情境之間的隔離。
* 無論你是手動開發還是搭配 AI 編碼代理人，都實用的指引。

## 重要的心智模型

Extension.js 在編譯、路徑標準化、manifest 改寫與開發體驗上幫上忙。它不會消除底層的瀏覽器擴充功能邊界：

* Content script 仍受頁面情境限制。
* Background service worker 仍有生命週期限制。
* Web-accessible resources 仍需要明確開放。
* 權限仍決定擴充功能能做什麼。
* Messaging 與 storage 仍需要明確設計。

## 為新功能設定的好閱讀順序

1. 從 [manifest.json](/docs/implementation-guide/manifest-json) 開始，了解你正在宣告的擴充功能介面。
2. 閱讀對應功能頁面，例如 [content script](/docs/implementation-guide/content-scripts) 或 [background](/docs/implementation-guide/background)。
3. 加入支援元素：[權限](/docs/implementation-guide/permissions-and-host-permissions)、[messaging](/docs/implementation-guide/messaging)、[storage](/docs/implementation-guide/storage) 與 [web-accessible resources](/docs/implementation-guide/web-accessible-resources)。
4. 在[可預期的路徑解析](/docs/features/path-resolution)中驗證路徑假設。
5. 在進入 watch mode 變更進入點之前，先閱讀 [dev 更新行為](/docs/workflows/dev-update-behavior)。

## 後續步驟

* 從 [manifest.json](/docs/implementation-guide/manifest-json) 開始。
* 用 [Content script](/docs/implementation-guide/content-scripts) 打造頁面整合。
* 在[安全檢查清單](/docs/workflows/security-checklist)中檢視執行階段邊界。
