当前位置: 首页 > web >正文

Console Importer浏览器插件的编译 及 制作成.crx浏览器插件的步骤

近日由于下载Console Importer浏览器插件(一个前端调试窗口方便引下第三方库便于学习测试的插件)找不到资源,于是找到该插件的源码,地址:https://github.com/pd4d10/console-importer),发现该插件基于一款名为“Plasmo”的框架开发,专用于开发各浏览器扩展程序的开发。

Plasmo简介(官方文档:https://docs.plasmo.com/)

Plasmo 是一个专门开发浏览器扩展程序的框架,旨在简化浏览器扩展的开发流程。它提供了丰富的功能和工具,帮助开发者快速构建和部署浏览器扩展。Plasmo 框架支持多种现代前端技术,如 React 和 TypeScript,使得开发者可以利用这些技术来构建复杂的浏览器扩展。

就像是浏览器插件开发领域的 Next.js

编译插件:

  1.  pnpm install(由于有些引用资源地址访问不太稳定,可以多执行几次试试直到全部获取成功不出错)
  2. 可选步骤 npm run dev(或 pnpm dev 或 pnpm plasmo dev)编译后的目录可直接拖入到浏览器的扩展程序管理中测试(Plasmo将为您的扩展创建一个开发包和一个实时重新加载的开发服务器,在文件更改时自动更新您的扩展包,并在源代码更改时重新加载浏览器。它还用DEV |作为扩展名的前缀,并使图标变为灰色,以区分开发和生产扩展包。)
  3. pnpm run build(或 pnpm build 或 pnpm plasmo build) 编译后的目录可直接拖入到浏览器的扩展程序管理中使用
  4. pnpm run package(或 pnpm package 或 pnpm plasmo package)将编译后的目录打包成zip压缩包,也可将此压缩包拖入到浏览器的扩展程序管理中来使用,同样会是显示未封装的扩展程序图标(实际上通过浏览器扩展商店安装的.crx就是个压缩包,包含编译后的目录文件)

制作crx浏览器插件

以下介绍如何如何制作一个crx插件

https://jingyan.baidu.com/article/a3a3f8111b80fd8da2eb8ae4.html

方法/步骤

  1. 一个简单的插件需要manifest.json、popup.html、popup.js、content.js、background.html、background.js、css文件。当然,这些除了manifest.json都不是必须的,可以根据自己的需要删减或增加。把这些文件都放在同一个目录下,待会生成扩展程序待用。

    制作crx浏览器插件

  2. 最主要的就是编写manifest.json了,可以参看如下:

    {//扩展信息"name": "Test","version": "1.0","manifest_version": 2,"description": "The first extension that I made.",//点击扩展,弹出窗体"browser_action": {"default_popup": "popup.html"},//扩展图标"icons": {"128": "icon.png"},//后台执行的脚本//"background": {//    "persistent": true,//    "scripts": ["background.js"]//},//扩展需要用到的权限"permissions": ["<all_urls>", "activeTab"]
    }
  3. 其中popup.html 是点击图标显示的界面,可以搭配js和css文件,如:

    制作crx浏览器插件

  4. 在Test.js中就是你想要实现的具体代码,可自行编写。

  5. 准备完后就可以打包了。

    打开360浏览器(谷歌的会报错,不知道原因),进入“扩展管理”界面。

    制作crx浏览器插件

  6. 先打开“开发者模式”,然后选择“打包扩展程序”。

    制作crx浏览器插件

  7. 选中文件夹后打包,即可生成所需的crx文件

    制作crx浏览器插件

    制作crx浏览器插件

  8. 拖动该文件到浏览器即可完成安装

【相关知识介绍】:

Plasmo 快速入门:

 https://juejin.cn/post/7257520279312498748 

Plasmo 浏览器扩展框架安装和配置指南:

https://blog.csdn.net/gitblog_09398/article/details/142229912 

http://www.xdnf.cn/news/6550.html

相关文章:

  • electron进程通信
  • 128.在 Vue 3 中使用 OpenLayers 实现绘制矩形截图并保存地图区域
  • 关于xammp数据库打开不了,但是日志没错误的问题解决以及其数据库的备份
  • 如何利用 Python 爬虫按关键字搜索京东商品:实战指南
  • Docker 安装 MySQL8
  • OpenCV 图像直方图:从原理剖析到实战应用
  • linux系统服务
  • Qt信号槽机制与UI设计完全指南:从基础原理到实战应用
  • 【笔试训练】简单写词|dd爱框框|除2!
  • Cursor无法使用C/C++调试的解决办法
  • Ubuntu使用Docker搭建SonarQube企业版(含破解方法)
  • Hugging Face 中 LeRobot 使用的入门指南
  • LangChain4j +DeepSeek大模型应用开发——10 检索增强生成 RAG
  • Ubuntu下配置VScode出现#include错误请更新includePath的解决方法
  • Java类一文分解:JavaBean,工具类,测试类的深度剖析
  • 汽车零部件冲压车间MES一体机解决方案
  • 卷积神经网络和深度神经网络的区别是什么?
  • 数据结构与算法-线性表-单链表(Linked List)
  • OSCP备战-kioptrix 2014详细步骤
  • 第三十一节:直方图处理-直方图反向投影
  • 题目:两个线程交替输出1-100的数字,例如:t1--》1,t2--》2,....
  • 最小生成树(竞赛)
  • python基础语法(三-上)
  • 技术文档:变频器干扰问题与解决方案
  • 印度全印度游戏联合会(AIGF)介绍与用途
  • 本地化部署HomeAssistant语音助手并接入DeepSeek
  • git 本地提交后修改注释
  • 数控机床控制单元技术方案:基于EFISH-SCB-RK3588/SAIL-RK3588的赛扬N100/N150国产化替代全场景解析
  • Seata源码—3.全局事务注解扫描器的初始化二
  • Femap许可用户行为分析