HelloWorld-chrome擴展開發

本文介紹如何快速創建一個基於webpack構建的chrome擴展,由於chrome擴展開發概念很多,如果需要,請結合附錄食用。

首先需要安裝好nodejs,推薦用nvs或其他工具管理node版本。這裏用的是v8.5.0版本(之前用了v11.1.0在運行npm start的時候會報錯,因爲對chrome擴展來說node只是個構建工具,並且用nvs來管理node版本切換很方便,就不追究爲什麼報錯了)。
clipboard.png

一、安裝yeoman

node -g install yo

clipboard.png

二、安裝生成chrome擴展的generator

npm install -g generator-chrome-extension-kickstart

clipboard.png

三、使用yeoman創建項目

# 創建一個空目錄
mkdir helloworld && cd helloworld
# 運行yeoman生成項目
yo chrome-extension-kickstart .

然後按照提示進行項目配置

clipboard.png

上圖是選擇需要創建的UI action
No:不創建
Browser:瀏覽器級別的action,一個瀏覽器一個實例
Page:頁面級別的action,每個頁面一個實例

這裏我們先選擇Page

clipboard.png

上圖是選擇需要覆蓋的瀏覽器的一些默認頁面
No:不需要覆蓋任何默認頁面
Bookmarks Page:覆蓋書籤頁面
History Page:覆蓋歷史頁面
Newtab Page:覆蓋新標籤頁面

這裏我們選擇No

clipboard.png

上圖是選擇這個擴展需要的一些頁面或者腳本
Options Page:表示需要一個配置頁面
Devtools Page:表示在Devtools裏需要新建一個頁面
Content Scripts:表示需要一個與所訪問的頁面一起運行的腳本
Omnibox:表示給瀏覽器地址欄增加一個功能

這裏我們全部選擇,都來演示一下。根據提示,按a全選

clipboard.png

上圖是這個擴展需要的瀏覽器權限,比如Cookies就是擴展可以獲取到cookie數據

這裏爲了簡單就按a全選了。接下來一路回車就可以了

clipboard.png

上圖可以看出yeoman爲我們生成了很多項目文件並且安裝了依賴

四、運行擴展

啓動項目編譯

npm start

clipboard.png

可以看到項目已經編譯完生成了幾個文件

開另外一個命令行窗口
clipboard.png

編譯生成的文件在dist/chrome/目錄下,可以用瀏覽器把這個目錄加載起來

clipboard.png

打開瀏覽器的擴展管理頁面,打開開發者模式,然後加載已解壓的擴展程序,選擇編譯生成的dist/chrome/目錄

clipboard.png

然後發現擴展顯示了一個錯誤按鈕

clipboard.png

點擊進去之後提示'input' is not allowed for specified platform.,這個是因爲我們之前選擇權限的時候選擇了全部,但是input權限不支持,我們需要刪掉這個權限(或者也可以在選擇權限的時候不勾選input)。

clipboard.png

打開app/manifest.json文件,把這一行刪掉

clipboard.png

然後重新加載一下擴展,錯誤按鈕就不見了

clipboard.png

可以看到擴展已經成功運行起來了

五、進行開發

clipboard.png

項目主要文件在app/目錄下面,一般只要修改這裏面的文件就夠了

六、打包

npm run build

clipboard.png

運行完上面的命令之後,會在packages/目錄下生成zip包

七、附錄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章