使用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

相关文章
相关标签/搜索