首页
/ WXT v0.20.0 发布:现代化浏览器扩展开发框架的重大更新

WXT v0.20.0 发布:现代化浏览器扩展开发框架的重大更新

2025-06-09 03:54:05作者:蔡怀权

WXT 是一个现代化的浏览器扩展开发框架,它基于 Vite 构建,为开发者提供了高效、灵活的扩展开发体验。WXT 简化了浏览器扩展的开发流程,支持 Chrome、Firefox、Safari 和 Edge 等多平台,让开发者能够专注于业务逻辑而非构建配置。

核心变更与架构优化

移除 webextension-polyfill 依赖

在 v0.20.0 版本中,WXT 移除了对 webextension-polyfill 的依赖。这一变更反映了现代浏览器 API 的标准化程度已经足够高,不再需要额外的 polyfill 来保证跨浏览器兼容性。开发者现在可以直接使用浏览器提供的原生 API,减少了最终打包体积,提升了运行效率。

模块系统重构

本次更新对模块系统进行了重大重构:

  1. 引入了 #imports 模块,这是一种新的模块导入方式,提供了更清晰的代码组织和更好的类型支持
  2. 实现了按需导出机制,开发者现在可以只导入需要的功能,而不是整个库
  3. 自动类型导入功能让 TypeScript 开发者能够更轻松地使用类型系统,无需手动导入类型定义

这些改进显著提升了开发体验,特别是在大型项目中,模块的精细控制能够有效减少打包体积。

样式处理改进

WXT v0.20.0 对 Web Components 中的样式处理进行了优化,现在会自动重置继承样式。这一改进解决了 Web Components 开发中常见的样式污染问题,使得在组件内的元素能够更好地隔离外部样式影响,确保组件样式的独立性。

构建系统增强

构建系统也迎来了多项重要改进:

  1. 非生产环境的输出目录现在会自动添加后缀,避免了开发和生产构建之间的冲突
  2. 移除了过时的 jiti 入口加载器,简化了构建流程
  3. 配置文件中的 publicDirmodulesDir 现在相对于项目根目录解析,提高了配置的直观性

存储工具重构

存储工具从 wxt/storage 迁移到了 wxt/utils/storage,这一变更更好地反映了这些工具函数的实用性质,同时保持了向后兼容性。存储工具提供了简单易用的 API 来处理扩展的本地存储需求。

开发者体验提升

除了上述功能变更,v0.20.0 还包含多项开发者体验改进:

  1. 移除了不必要的 Vite 警告标志,使控制台输出更加干净
  2. 修复了 Web Components 相关文件中的浏览器 API 引用问题
  3. 改进了文档结构,修复了多处链接问题

升级建议

对于现有项目,建议按照官方升级指南逐步迁移。特别注意以下破坏性变更:

  1. 直接使用浏览器 API 替代 webextension-polyfill
  2. 更新模块导入路径,特别是存储工具相关代码
  3. 检查构建配置中的路径设置,确保相对路径正确

WXT v0.20.0 的这些改进标志着框架向更现代化、更高效的方向发展,为浏览器扩展开发者提供了更强大的工具和更流畅的开发体验。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
166
2.05 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
openHiTLS-examplesopenHiTLS-examples
本仓将为广大高校开发者提供开源实践和创新开发平台,收集和展示openHiTLS示例代码及创新应用,欢迎大家投稿,让全世界看到您的精巧密码实现设计,也让更多人通过您的优秀成果,理解、喜爱上密码技术。
C
89
580
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
60
17
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
0
cjoycjoy
一个高性能、可扩展、轻量、省心的仓颉应用开发框架。IoC,Rest,宏路由,Json,中间件,参数绑定与校验,文件上传下载,OAuth2,MCP......
Cangjie
94
15
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
199
279
giteagitea
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
17
0
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
954
564