P粉0069779562023-08-23 20:17:35
2022年的更新答案
簡短回答:是的,你可以要求/導入包。而不是自己費力地設定和配置像Webpack這樣的打包工具(特別是如果你沒有使用過它們),現在有一些構建工具可以用來創建Chrome擴展的樣板代碼:
使用它們的好處:
npm
安裝任何你需要的套件/依賴。 然後,當然,讓Chrome擴展的官方文件引導你完成剩下的部分。
P粉8034443312023-08-23 15:44:30
這是可能的,但你必須小心。嘗試使用require()來載入一個套件意味著Node將嘗試在你的檔案系統中定位它的檔案。 Chrome擴充功能只能存取你在清單中聲明的文件,而不能存取你的檔案系統。
為了解決這個問題,使用像Webpack這樣的模組打包工具,它將產生一個包含透過require()引入的所有套件的程式碼的單一JavaScript檔案。你需要為你的每個Chrome擴充元件產生一個單獨的模組(例如背景頁、內容腳本、彈出視窗),並在清單中聲明每個產生的模組。
為了避免嘗試設定建置系統以使require()可用,我建議從一個樣板專案開始。你可以查看我的擴充功能來看我是如何做的。