打造一个极度舒适的Chrome扩展项目开发环境 🚀

这篇具有很好参考价值的文章主要介绍了打造一个极度舒适的Chrome扩展项目开发环境 🚀。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,我是 dom 哥。这是我关于 Chrome 扩展开发的系列文章,感兴趣的可以 点个小星星。

Chrome 扩展能够提高浏览器的使用体验,通过自定义 UI 界面,监听浏览器事件,改变 Web 页面等操作来延展浏览器的功能。

Chrome 扩展项目使用前端 html,css,js 基础技术开发,一大痛点就是改动代码后的扩展更新问题,先来看一看 Chrome 扩展的更新逻辑:

扩展各部分 是否需要更新扩展
manifest.json Yes
background service worker Yes
content scripts Yes (并且需要刷新 Web 页面)
action popup No
options page No
Other extension HTML pages No

更新 Chrome 扩展意味着需要打开扩展管理界面(chrome://extensions),点击扩展的更新按钮,如下图:

打造一个极度舒适的Chrome扩展项目开发环境 🚀

如果每次改动代码,都需要这样操作一遍,才能看到效果,那也太痛苦了吧 😖,尤其是 content scripts,更新完扩展后还要去浏览器页签刷新页面,这极大的拉低开发效率和消磨人的耐心。

仔细想想想,目前前端项目开发已经有 HMR 热重载技术,在开发 Web 页面时可以实时查看效果,极大的提升了开发体验。那么,能否把这种极致的体验带到 Chrome 扩展开发中来呢?经过多番折腾探索,还真让我搞出来啦 🚀

感谢 vite

vite 作为下一代的前端工具链,用过的都说好 👍。

打造一个极度舒适的Chrome扩展项目开发环境 🚀

vite 为各种技术栈提供了模板:

JavaScript TypeScript
vue vue-ts
react react-ts
vanilla vanilla-ts
preact preact-ts
lit lit-ts
svelte svelte-ts
solid solid-ts
qwik qwik-ts

vite 生成的项目将开箱支持:

  • ✅ TypeScript
  • ✅ html 的 HMR

用 vite 新建一个 Chrome 扩展项目,其 HMR 支持情况将如下:

扩展各部分 是否需要更新扩展 HMR
manifest.json Yes
background service worker Yes
content scripts Yes (并且需要刷新 Web 页面)
action popup No
options page No
Other extension HTML pages No

感谢 @crxjs/vite-plugin

@crxjs/vite-plugin 是一个 vite 插件,旨在帮助开发者使用现代 web 开发技术开发 Chrome 扩展。

使用起来也是非常简单:

npm i @crxjs/vite-plugin@beta -D

在 vite.config.ts 中增加如下配置:

import { defineConfig } from "vite"
import { crx } from "@crxjs/vite-plugin"
import manifest from "./manifest"

export default defineConfig({
  plugins: [crx({ manifest })],
})

@crxjs/vite-plugin 通过解析 manifest 清单文件,找到扩展里相关的所有文件资源进行编译打包。

在配置完之后,项目将获得以下特性:

  • manifest 不再须要是 json 文件,可以是 js 或 ts 文件!简直不要太方便 🚀

  • 全方位 HMR

    扩展各部分 是否需要更新扩展 HMR
    manifest.json Yes
    background service worker Yes
    content scripts Yes (并且需要刷新 Web 页面)
    action popup No
    options page No
    Other extension HTML pages No

demo 项目源码 create-crx 我已经放在 GitHub 上,觉得不错可以 点个小星星 支持一下哦 🌹文章来源地址https://www.toymoban.com/news/detail-760051.html

到了这里,关于打造一个极度舒适的Chrome扩展项目开发环境 🚀的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开发实例:Spring Boot、MyBatis和Layui打造增删改查项目

    通过学习这个实例项目,我们将积累点滴技术知识和实践经验,进一步提升我们的开发能力。学习如何构建增删改查功能的完整应用,从数据库访问到前端界面的开发,涵盖了全栈开发的方方面面。此外,我们还将学会处理常见的业务逻辑和数据操作,提高编码质量和效率。

    2024年02月06日
    浏览(69)
  • 3D开发工具HOOPS如何助力3D项目实现扩展现实技术?

    在当今数字化时代,扩展现实(Augmented Reality,AR)技术的应用已经逐渐深入到各行各业,为用户带来了前所未有的沉浸式体验。而在实现这种技术的开发过程中,HOOPS技术的运用无疑是一种强大的助力。HOOPS是一种广泛用于3D项目的工具包,它的灵活性和功能强大的特点,为实

    2024年03月28日
    浏览(57)
  • 用ChatGPT做一个Chrome扩展 | 京东云技术团队

    最近科技圈儿最火的话题莫过于ChatGPT了。 最近又发布了GPT-4,发布会上的Demo着实吸睛。 笔记本上手画个网页原型,直接生成网页。网友直呼:前端失业了! 但我觉着啊,真就外行看热闹,内行看笑话。虽然ChatGPT很强大,但没有经过针对某个领域自定义化过的模型真就没啥

    2024年02月10日
    浏览(33)
  • 用 ChatGPT 做一个 Chrome 扩展 | 京东云技术团队

    最近科技圈儿最火的话题莫过于ChatGPT了。 最近又发布了GPT-4,发布会上的Demo着实吸睛。 笔记本上手画个网页原型,直接生成网页。网友直呼:前端失业了! 但我觉着啊,真就外行看热闹,内行看笑话。虽然ChatGPT很强大,但没有经过针对某个领域自定义化过的模型真就没啥

    2024年02月10日
    浏览(53)
  • VSIX:C#项目 重命名所有标识符(Visual Studio扩展开发)

            出于某种目的(合法的,真的合法的,合同上明确指出可以这样做),我准备了一个重命名所有标识符的VS扩展,用来把一个C#库改头换面,在简单的测试项目上工作很满意,所有标识符都被准确替换。我还尝试用在C++项目上,问题就比较多了,因为VS并不能准确识别

    2024年02月05日
    浏览(56)
  • 打造完美家庭空间,让生活更加舒适

    在现代繁忙的都市生活中,家是人们温暖而舒适的避风港。而如何打造一个恰到好处的家庭空间,成为了许多人心中的追求。今天,就让我们来探索一些空间布局方案,为您的家庭营造一个完美融合功能与美感的舒适空间。 🏠🍽️🍳开放式空间 在家庭空间布局中,开放式

    2024年02月07日
    浏览(47)
  • Typora+MinIO+Python代码打造舒适协作环境

    作者:IT王小二 博客:https://itwxe.com 不知不觉大半年没更新了...前面小二介绍过使用 Typora+MinIO+Java代码打造舒适写作环境 ,然后有很多大佬啊,说用Java来实现简直是杀鸡用上牛刀,小二想了想,确实有点...正好小二最近在学习Python,所以咱们就改用Python实现一版。 安装参考

    2024年02月02日
    浏览(39)
  • 分享5款小软件,让你打造更舒适的办公电脑

    每次发现实用的小工具,都会有种小小的成就感,这也是我喜欢收集和分享高效工具的原因。 CustomizerGod是一款强大的电脑图标定制软件,可以让你随心所欲地改变系统中的任何图标。你可以使用CustomizerGod来修改桌面、任务栏、开始菜单、文件夹、驱动器、控制面板等地方的图

    2024年02月11日
    浏览(48)
  • 一款专门为自动化测试打造的集成开发工具【Aqua】,“能快速构建自动化测试项目”,就问你爽不爽吧,,,

    你好,我是不二。 随着行业内卷越来越严重,自动化测试已成为测试工程师的必备技能,谈及自动化测试肯定少不了编程,说到编程肯定离不开集成开发工具,比如:IntelliJ IDEA可以帮助我们快速构建Maven项目、springboot项目,PyCharm可以帮助我们快速构建Django项目、Flask项目。

    2024年02月12日
    浏览(43)
  • 【精致生活】打造舒适家居环境的绝佳选择-API商品详细介绍

        【精致生活】打造舒适家居环境的绝佳选择-API商品详细介绍 在追求舒适家居环境的道路上,我们时常需要借助一些高质量的产品来实现。而今天,我们要介绍的这款API商品,则是您打造精致生活的不二选择。   公共参数 请求地址 名称 类型 必须 描述 key String 是 调用

    2024年02月16日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包