什麼情況下適合使用 React
- 你正在打造 popup、options、sidebar、new tab 等內容豐富的 UI 介面。
- 你希望在擴充功能頁面與 content script UI 之間重複使用元件。
- 你已經在 web 專案中使用 React,並希望在擴充功能中採用相同的開發模型。
範本範例
new-react

content-react

new-react-router

在既有擴充功能中使用
依下列步驟把 React 加入既有擴充功能。安裝
安裝 React 執行期相依套件:react-refresh 與 @rspack/plugin-react-refresh。兩者都會隨 extension-develop 一起作為相依套件出貨,所以一次正常的安裝就已經能解析到它們。當其中一個無法解析時,建置會無法啟動,錯誤訊息會指出要安裝哪些套件。錯誤中的安裝指令會依你專案使用的套件管理器來呈現。
設定
常見的 React 檔案命名:- JavaScript:
*.jsx - TypeScript:
*.tsx
開發行為
在開發模式下,Extension.js 偵測到 React 時會啟用 React refresh 整合。- Extension.js 會使用
react-refresh與@rspack/plugin-react-refresh提供 refresh 行為。 - 若這些 refresh 套件無法從你的專案或
extension-develop解析到,建置會無法啟動,並印出對應的安裝指令。Extension.js 不會替你安裝它們,也不會要求你重新啟動。 - Extension.js 會套用 React 別名,讓 bundle 中只保留單一份 React/runtime 實例。
使用範例
在 new tab 擴充功能中
頁面入口範例:在 content_script 檔中
對於 content script,把 React 渲染到注入的根節點:
下一步
- 當你需要一個側邊欄面板加上一個 content script 時,從 React 範本(
--template=react)開始。 - 進一步了解 TypeScript 支援。
- 探索 Extension.js 如何處理 Sass modules。

