轉載來自:https://blog.csdn.net/wanwuguicang/article/details/79742017
chrome extension,文件擴展名為crx,俗稱chrome擴展,chrome插件。
crx文件本質就是ZIP文件,只是谷歌在ZIP文件頭,插入了自定義的私有字段,如,插件描述,插件ID,密鑰等。
用戶可以手動修改crx文件的擴展名,修改為zip,然后使用普通的解壓工具,就能解壓。
開發者提交自己的插件時,提交的是文件就是壓縮包zip文件。
而谷歌后台,則根據壓縮包,自動生成crx文件。
注意:chrome依靠插件ID,而不是插件名字,判斷是否為同一個插件。
開發者提交插件更新時,即使修改產品名稱,也不會影響用戶的插件升級。
上面屬於背景知識,題外話,下面回到正題。
———————————我不是分割線—————————————————
如何打包生成自己的插件呢?
打開插件管理頁面(chrome://extensions/)。
點擊右上角的“開發者模式”按鈕后,再點擊“打包擴展程序”,就會彈出“打包擴展程序”對話框。
廢話不說,一圖勝萬言。
根據提示,選擇擴展程序根目錄,就會生成crx文件了。
這里有一個問題,如果是第一次生成CRX文件,Chrome會在其根目錄下生成一個pem密鑰文件。
舉個栗子:
你有一個擴展程序,文件名為MyFirstExtension,那么擴展程序根目錄為:F:\Project\MyFirstExtension
那么生成的文件路徑就是:F:\Project\MyFirstExtension.crx,F:\Project\MyFirstExtension.pem。
那么問題來了,pem密鑰文件有何用處呢?
很簡單,用於生成插件ID,區分插件的。
假設,你當前插件叫做MyFirstExtension,版本號為1.0,
而下一次升級時,你想把產品名稱改為MySecondExtension,版本號為2.0。
但,如何保證Chrome認為它們是一款插件呢?
這個時候,就需要pem密鑰文件了,再次生成crx文件時,選擇pem文件。
它就能保證新生成的crx文件,與原有的crx文件的id是一樣的,
這樣,部署插件時,就能保證Chrome瀏覽器,認為它們是同一個插件了。
附:
1.對於開發者而言,開發測試時,使用的是未壓縮的文件夾,而其插件ID是根據插件所在的絕對路徑計算而來的。
也就是說,解壓后的插件,復制到其它目錄,
然后在開發者模式下,通過“加載已解壓的擴展程序”重新加載插件文件夾后,其插件ID也會跟着變化。
2.開發者提交給Chrome官方的是ZIP文件,不能是CRX文件