vite chrome extension 制作流程
创始人
2025-05-28 22:02:11
0次

找了半天如何结合vite进行chrome extension的开发。发现了npm有一些模版,不过感觉都不太好用,或者是基于webpack的。
因此顺便在学习一下如何进行项目配置,着手自己搭一个开发环境。整体思路也很简单,这种不涉及后端方法替换,只是生成多项目。
沿着这个思路(基于node7+开发):
样例项目 github

安装vite项目

npm create vite@latest extension -- --template vue
cd extension
npm install
npm run build  

增加Chrome extension支持

dist 文件内部会编译出一个网页,接下来要让chrome能够加载这个网页。
在dist文件夹内部增加 manifest.json 即可。文档地址
manifest.json 文件如下:

{"name": "vite","version": "1.0.0","manifest_version": 3,"description": "vite chrome extension tempalte","icons": {"16": "assets/vue.svg","48": "assets/vue.svg","128": "assets/vue.svg"},"options_ui": {"page": "index.html","open_in_tab": false}
}

之后在dist文件夹内放点icons,这样基本东西就齐了。如果没有其他的需求,目前这种基本上就能完事了。

但是一般来说还想加点 background service worker, override page 之类的东西。因此还要继续改造一下。

增加 background service worker

再增加一个独立的项目生成 background.js
增加一个 vite.config.background.js。
顺便整理一下当前的项目文件组织方式。

- src- background # background 项目- popup # popup 项目- manifest.json # manifest.json - assets # manifest.json 中的 logo

dist 打包的目录的结构如下:

- dist- background # background 项目- popup # popup 项目- manifest.json # manifest.json - assets # manifest.json 中的 logo

这样需要增加两个编译项目:

  • vite.config.popup.js
  • vite.confg.background.js

vite.confg.background.js 项目配置

类似的配置修改到 vite.config.popup.js 上。

import { defineConfig } from 'vite'
import { resolve } from "path"
import vue from '@vitejs/plugin-vue'// https://vitejs.dev/config/
export default defineConfig({plugins: [vue()],build: {rollupOptions: {input: {main: resolve(__dirname, 'src/background/background.js'),},output: {dir: "dist/background",entryFileNames: "background.js"}}}
})

manifest.json 中增加background配置

  "options_ui": {"page": "popup/index.html", // 对应的popup项目"open_in_tab": false},"background": {"service_worker": "background/background.js"}

进而需要修改一下 package.json

"scripts": {"build": "vite build -c vite.config.popup.js && vite build -c vite.config.background.js",// "build": "bash build.sh", // 或者增加脚本bash.sh
},

bash.sh脚本如下:

vite build -c vite.config.popup.js &&\
vite build -c vite.config.override.js

不过其中有一个public产出物无法自动拷贝到dist文件中,因此需要在脚本中增加一些拷贝命令。
完整bash.sh如下:

mkdir dist
rm -rf dist/* &&\vite build -c vite.config.popup.js &&\
vite build -c vite.config.background.js &&\cp -r src/assets dist &&\
cp src/manifest.json dist/manifest.json &&\# copy public mv src/popup/dist/popup/* dist/popup/ &&\
rm -rf src/popup/dist

基本上到此就能够支持extension跑起来了。
如果需要 override 配置,再增加一个独立的项目配置项即可。

参考完整项目地址

相关内容

热门资讯

在大吉订购APP订购交易亏损被...   近期,不少投资者反映在“大吉订购App”上投资白银、铂金等商品遭遇严重亏损。该平台宣称提供现货订...
铂银壹号APP商品订购交易亏损...   许多中小投资者误以为网上的“商品现货订购”是合规合法的理财渠道,殊不知这背后隐藏着巨大的合规风险...
兴鑫淘金APP贵金属订购交易亏...   白银、贵金属或其他商品类投资,除国家批准的正规期货交易场所及持牌期货公司外,市面上大量第三方交易...
铂银掘金APP无资质的违规平台...   铂银掘金等平台的投资者,往往是被“注册送现金”“充值返现券”“首单免亏”等广告话术吸引,进而下载...
八方淘金APP订购交易不合规,...   “八方淘金APP”“铂银掘金APP”“铂银壹号APP”等软件被指以“现货订购”为名,实际采用高杠...
在指尖订购APP订购商品亏损被...   指尖订购APP这类平台,表面是“订购交易”,实则是披着电商外衣的非法期货陷阱。绝大多数投资者被蒙...
在犀贝易购APP做商品订购交易...   市面上打着“现货投资”“贵金属交易”旗号的APP并不少,但真正合规、受监管的平台并不多。犀贝易购...
易达淘金APP虚假商品订购交易...   易达淘金APP存在严重的虚假宣传与违规交易行为。该平台打着“商品订购”的旗号,实则通过不合规的交...
大浪淘金APP白银订购亏损被骗...   大浪淘金APP最隐蔽的套路,在于其完全封闭的内盘交易系统。表面上,它宣称与国际贵金属市场接轨;实...
一品好购APP上订购白银出现亏...   一品好购APP原名“一品订购”,运营方为上海宝智未来信息技术有限公司。近期不少投资者反映在该平台...
九州订购APP贵金属订购投资骗...   九州订购APP正通过抖.音、快手、今日头条等平台大量投放投资广告,用“5元起投”“充值返现”“0...
坚锅淘金APP交易软件并不正规...   当前,市面上大量所谓的“现货商城订购”交易软件,早已偏离了正常的实物商品买卖,演变为高杠杆、高手...
斗金订购APP贵金属期货交易骗...   斗金订购APP的投资者往往被铺天盖地的广告宣传所诱导——注册即送现金、充值返现券等看似诱人的福利...
警惕!云启购APP违规经营,披...   "5元起投、充值返现、稳赚不赔"——这些诱人的广告语背后,可能是一个精心设计的金融陷阱。  近期...
量子淘金APP贵金属投资不合规...   "4元起投""充值返券""月入过万"——这些极具诱惑力的广告语在短视频平台、社交软件上铺天盖地。...
鑫汇智投APP贵金属商品订购骗...   鑫汇智投APP非法期货投资骗局,受害者在投资过程中根本不懂交易,也不去研究和验证这个平台是否正规...
矅光智策APP平台违规经营非法...   矅光智策APP对外宣称是“商城订购”“现货交易”,但查询其经营范围,并未显示具备开展现货期货交易...
黄金珠宝怎么选?内侧刻字都代表... 潮新闻客户端 记者 马焱 通讯员 任倩影 9月8日下午,“云游杭州 乐购金秋”——“浙城·浙放心”活...
原创 冰... 最近全球国债市场正在上演魔幻一幕: 美债、日债、欧债遭遇猛烈抛售,收益率冲到几十年新高,美国财政部都...
日韩股市开盘表现分化 上证报中国证券网讯 9月9日,日韩股市开盘表现分化,韩国综合指数开盘上涨0.26%,报6972.87...