多语言展示
当前在线:894今日阅读:138今日分享:33

vue 开发 Chrome 插件:划词翻译 系列教程 一

一个 Chrome 插件,核心就是 manifest.json 文件, manifest.json 下的属性 ① content_scripts 指定inject的脚本列表 js,css    【 injected】② browser_action 中 default_popup指定popup弹出的html文件路径 【popup】② background     后台常驻页面                            【background】 用户通过 popup 页面操作,inject 分析 DOM ,与 background 通信将数据传给 background 汇总,这个通信是很麻烦的。  鉴于原生的 Chrome 是这么麻烦,我们可以使用 vue 来开发。  本章内容:① 初始化项目② 项目解析
工具/原料
1

vue

2

编辑器:vscode(选择自己喜欢的)

一。vue开发 Chrome 插件优势
1

避免复杂的通信 原生的文件开发插件,需要使用 chrome.runtime.sendMessage({action:ACTION.START_FETCH,data:xxxx})  来传递数据,就那么一两个还是可以的,但是往往我们要做的插件不能是这么简单的。 通信多了就麻烦了,vue 就可以解决这个问题,不需要麻烦的通信。 chrome.extension.getBackgroundPage()

3

保持简单:不适用vuex ,router实时更新: vue 和 webpack非常方便,打包:webpack

4

GSP:Content Security Policy VUE 完全支持 gsp内容安全策略,CSP 的主要目的是防止跨站脚本攻击(XSS),如果不在 CSP 声明的合法范围内,浏览器会拒绝引用这些资源,这点使用 vue 开发不需要担心。

二、初始化项目
1

vue create huaci-  使用 vue-cli3 初始化一个项目,选择简单的 babel 即可。其他的 css 预处理器,eslint 格式都不用了。 确认等待项目初始化完成

2

进入项目 cd huaci- 初始化项目之后,不要忘记这一步,进入到项目里面去操作,不然就会有错误发生,还找不到错误的原因。

3

删除不需要的文件  由于我们不是开打 web 项目,vue-cli3 脚手架生成的文件,我们不是都需要, 这里就删除不必要的部分, src/main.jssrc/components 删除这两个文件/文件夹

4

vue add chrome-ext 安装 vue-cli-plugin-chrome-ext 插件 我们需要修改项目使得 它适用于开发 Chrome 扩展 只能使用 vue add chrome-ext  命令来安装,如果使用 yarn add chrome-ext 会发现项目没有任何改变。 vue add  与 npm install 与 yarn add 的区别vue add      装的是 vue cli 插件,npm install 装的是 npm 插件yarn add    装的是 yarn 插件 vue add 会包含下面两个操作,此外还会帮忙配置文件,这个指令会更改我们现有的文件内容。 例如  router 或是  vuex,Vue CLI 会帮忙配置好文件 vue add router 会配置 router.js 文件以及生成 About.vue 和 Home.vue 并在 App.vue 内建立简单的路由文件. vue add vuex 会被配置好一个 store.js 文件

三、开发运行检测项目
1

yarn run build-watch 上面初始化项目的时候,会发现, package.json 文件中执行部分,多了这个执行语句,就是同时执行并且打包。(这里是开发阶段的打包)  'scripts': {'serve': 'vue-cli-service serve','build': 'vue-cli-service build','build-watch': 'vue-cli-service build-watch'},  执行之后就会得到一个 dist 文件夹,

2

检测插件 在浏览器加载扩展,查看是否初始化成功 右上角→ ... 符号→更多工具→扩展程序→加载扩展→选择项目中的 dist 文件夹打开

四、项目解析
1

项目结构 初始化增删的项目结构如下, src 就是我们要编辑的源码文件Chrome 扩展的核心部分都在这里 ① manifest.json 文件② popup   弹出页面③ options 选项页面④ 等等其他的页面。。。

2

页面结构 一个页面包含 4 个部分 page|--app|   |---app.vue |--index.html|--index.js index.html 与 index.js 在每个文件都是一致的,我们真正去编辑的是 app.vue,template ,style,script 部分都在这个 app.vue 文件里面。

注意事项

学无止境~~~~~

推荐信息