使用Vuejs 開發chrome 插件的注意事項

chrome 插件的開發其實並不難,web開發者可使用 html, css, javascript 輕鬆的開發實用的 chrome 插件。javascript

一個好的 chrome 插件能夠提升咱們的開發效率,甚至方便咱們的生活。例如 Vue-devtools ,是 Vuejs 的開發者不可或缺的利器,再如最多見的谷歌翻譯插件,能夠翻譯整個網頁中的英文內容,能夠很方便的幫助咱們查閱英文文檔。css

chrome 插件使用前端技術開發,可是提供了一些高級的接口(文件操做,操做USB設備,系統信息等),因此能夠開發出一些桌面級別的應用。html

chrome 插件開發文檔:Chrome擴展及應用開發(首發版)前端

分享一個本人使用 Vuejs 開發的一個 chrome 插件: Easy-todovue

CSP

CSP(Content Security Policy),內容安全策略,CSP 一般是在 header 或者 HTML 的 meta 標籤中定義的,它聲明瞭一系列能夠被當前網頁合法引用的資源,若是不在 CSP 聲明的合法範圍內,瀏覽器會拒絕引用這些資源,CSP 的主要目的是防止跨站腳本攻擊(XSS)。html5

爲何介紹 CSP 呢?由於 Chrome 擴展應用了 CSP ,嚴格的內容安全策略將致使不能在 javascript 中使用 evalnew Function 等方法,一些js框架或者庫不能正常工做。java

Chrome擴展容許開發者放寬一點點CSP的限制,若是但願能在 Chrome 插件中使用 Vue ,須要在 manifest 中作一點配置:git

"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"

更多關於 CSP 的描述:http://www.ituring.com.cn/book/miniarticle/73949github

 

有些朋友可能會有疑問,能在 Chrome 插件中使用 vue-router, vuex 和一些組件庫嗎?只要你配置了上面的 CSP ,這些將均可以正常工做 。web

如何本地存儲 todolist 中的數據呢?簡單的可使用 html5 的 localStorage,或者使用 chrome 封裝的 chrome.storage API,二者的區別及 chrome.storage 使用方法:http://www.ituring.com.cn/book/miniarticle/60274

總結

使用 Vuejs 開發 chrome 插件最重要的步驟就是配置 "content_security_policy" 了,其餘的就是翻閱開發文檔了,通常過一遍就能知道個大概。雖然都是用 html css js 寫的,可是仍是有一些區別,特別是js文件之間的通訊會有些繁瑣。

CPS版本下載:https://github.com/vuejs/vue/blob/csp/dist/vue.min.js

相關文章
相關標籤/搜索