使用 WXT 开发浏览器插件(上手使用篇)

news/发布时间2024/5/18 22:38:45

WXT (https://wxt.dev/), Next-gen Web Extension Framework. 号称下一代浏览器开发框架. 可一套代码 (code base) 开发支持多个浏览器的插件.

上路~

WXT 提供了脚手架可以方便我们快速进行开发,但是我们得先安装好环境依赖,这里我们使用 npm, 所以需要安装下 node,可以参考 https://nodejs.org/en.

# 直接基于脚手架创建项目
npx wxt@latest init yeshan-bowser-extensoincd yeshan-bowser-extensoin
# 安装依赖
npm install --registry=https://registry.npmmirror.com# 开始调试插件
npm run dev

https://img2024.cnblogs.com/other/1432456/202403/1432456-20240316001640557-996836296.png

QAQ - WSL2 下开发遇到的问题

使用 WSL2 进行开发的时候,npm run dev 在 wsl 是没办法自动打开浏览器的,会吐出如下问题:

WARN  Cannot open browser when using WSL. Load ".output/chrome-mv3" as an unpacked extension manually

大概看了下 wxt 的实现,它是通过 web-ext 跟进指定的浏览器的 bin 文件(默认为 chromium)启动浏览器装载开发好的插件. 曾经通过文章 chromium-in-wsl2 提到的办法直接在 wsl2 安装了 chromium,还是没能解决此问题😂😣. 翻了下官方仓库的 issue,有关联问题 https://github.com/wxt-dev/wxt/issues/55, 本质上是 web-ext 的 BUG issuecomment-1837565780,截至 2024/3/15 还未修复.

解决方法

没办法了,如果还想继续用 wsl 做开发,只能手动加载插件了,在 windows 上打开 chrome 后,地址栏输入 chrome://extensions/ 转到插件管理页 (记得开启开发者模式) -> 加载已解压的扩展程序:

https://img2024.cnblogs.com/other/1432456/202403/1432456-20240316001641636-1033885753.png

我们要加载的插件目录是在 wsl 中的(即: .output/chrome-mv3/),好在 Window 和 wsl2 的文件文件系统是打通的,可以相互访问,我们可以使用 wslutils 提供的工具获取在 Windows 下可以访问的路径

https://img2024.cnblogs.com/other/1432456/202403/1432456-20240316001642897-649507836.png

# 获取 windows 文件管理器可以访问的地址
❯ wslpath -w .output/chrome-mv3/
\\wsl.localhost\Ubuntu-20.04\home\yeshan333\workspace\github\yeshan-bowser-extensoin\.output\chrome-mv3

https://img2024.cnblogs.com/other/1432456/202403/1432456-20240316001643972-520072558.png

Done ~, 搞定咯,可以愉快码代码了~

本文由博客群发一文多发等运营工具平台 OpenWrite 发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/17726515.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的安全帽检测系统(深度学习模型+UI界面代码+训练数据集)

开发先进的安全帽识别系统对提升工作场所的安全性至关重要。本文详细介绍了使用深度学习技术创建此类系统的方法,并分享了完整的实现代码。系统采用了强大的YOLOv8算法,并对其与YOLOv7、YOLOv6、YOLOv5的性能进行了详细比较,包括关键指标如mAP、F1 Score等。文章深入分析了Y…

SAP:检索帮助扩展

TABLES参数已过时!(TABLES parameters are obsolete!) 一般解决方法: TABLES 参数已过时!把 TYPE 改成 LIKE 多回车,就可以保存了。检索帮助扩展(Search Help Exit)中可以指定函数修改检索帮助的查询条件及结果数据。 首先创建函数后练习将此函数分配到检索帮助扩展中的实例…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的夜间车辆检测系统(深度学习代码+UI界面+训练数据集)

开发夜间车辆检测系统对于自动驾驶技术具有关键作用。本篇博客详细介绍了如何运用深度学习构建一个夜间车辆检测系统,并提供了完整的实现代码。该系统基于强大的YOLOv8算法,并对比了YOLOv7、YOLOv6、YOLOv5,展示了不同模型间的性能指标,如mAP、F1 Score等。文章深入解释了Y…

初三奥赛模拟测试2

初三奥赛模拟测试2 \(T1\) 南 \(0pts\)原题: luogu P4550 收集邮票\(T2\) 昌 \(0pts\)原题: CF1153D Serval and Rooted Tree 部分分\(20pts\) :生成 \(1 \sim k\) 的所有全排列依次填给叶节点,枚举每种情况即可。正解设 \(g_{x}\) 表示第 \(x\) 个节点的权值,容易发现 \(…

实名制的重要性-身份证实名认证接口-C#接口代码

实名制的重要性-身份证实名认证接口-C#接口代码身份证实名制在现代社会中已经成为一项重要的制度,被广泛应用。对于消费者而言,身份证实名验证可以保障个人信息的安全,防止个人信息被盗用;对于企业而言,身份证实名验证也可以保障企业的安全,防止诈骗份子对企业利益造成损…

超轻量级的c#版基于文件的日志记录工具,可定制输出格式,可指定日志文件

这是我自己个人编写的日志记录,主要使用在只需要记录日志,偶尔到文件中查看一下日志记录的情况。我自己写的一些服务之类的是使用了这个的,代码很少,使用很简单。 第一步 搜索和安装我的Nuget包 搜索和安装zmjtool这个包,我写的,如下图:第二步 引入namespace和创建logge…