WXT浏览器插件开发中文教程(12)----WXT配置详解之Hooks

前言

大家好,我是倔强青铜三 。是一名热情的软件工程师,我热衷于分享和传播IT技术,致力于通过我的知识和技能推动技术交流与创新,欢迎关注我,微信公众号:倔强青铜三。欢迎点赞、收藏、关注,一键三连!!!

Hooks

WXT 包含一个系统,允许你在构建过程中插入Hooks并进行更改。

添加Hooks

通过 wxt.config.ts 添加Hooks是最简单的方式。以下是一个示例Hooks,它在将 manifest.json 文件写入输出目录之前对其进行修改:

wxt.config.ts

ts 复制代码
export default defineConfig({
  hooks: {
    'build:manifestGenerated': (wxt, manifest) => {
      if (wxt.config.mode === 'development') {
        manifest.title += ' (DEV)';
      }
    },
  },
});

大多数Hooks将 wxt 对象作为第一个参数提供。它包含已解析的配置和其他有关当前构建的信息。其他参数可以通过引用修改,从而更改构建系统的不同部分。

将此类一次性Hooks放入配置文件中非常简单,但如果你发现自己编写了许多Hooks,则应将它们提取到 WXT Modules 中。

执行顺序

由于Hooks可以在多个地方定义,包括 WXT Modules,因此它们的执行顺序可能很重要。Hooks的执行顺序如下:

  1. 按照在 modules 配置 中列出的顺序执行 NPM 模块
  2. 加载位于 /modules 文件夹 中的用户模块,按字母顺序加载
  3. 执行 wxt.config.ts 中列出的Hooks

要查看项目的执行顺序,请运行带有 wxt prepare --debug 标志的命令,并搜索"Hook execution order":

plaintext 复制代码
⚙ Hook execution order:
⚙   1. wxt:built-in:unimport
⚙   2. src/modules/auto-icons.ts
⚙   3. src/modules/example.ts
⚙   4. src/modules/i18n.ts
⚙   5. wxt.config.ts > hooks

更改执行顺序很简单:

  • 在用户模块的文件名前加上数字(数字越小越先加载):

    plaintext 复制代码
    📁 modules/
       📄 0.my-module.ts
       📄 1.another-module.ts
  • 如果你需要在用户模块之后运行一个 NPM 模块,只需将其作为用户模块,并在文件名前加上数字!

    ts 复制代码
    // modules/2.i18n.ts
    export { default } from '@wxt-dev/i18n/module';

最后感谢阅读!欢迎关注我,微信公众号倔强青铜三。欢迎点赞收藏关注,一键三连!!!

相关推荐
踩着两条虫1 小时前
如何评价VTJ.PRO?
前端·架构·ai编程
Mh2 小时前
鼠标跟随倾斜动效
前端·css·vue.js
小码哥_常3 小时前
Kotlin类型魔法:Any、Unit、Nothing 深度探秘
前端
Web极客码4 小时前
深入了解WordPress网站访客意图
服务器·前端·wordpress
幺风4 小时前
Claude Code 源码分析 — Tool/MCP/Skill 可扩展工具系统
前端·javascript·ai编程
vjmap4 小时前
唯杰地图CAD图层加高性能特效扩展包发布
前端·gis
ZC跨境爬虫4 小时前
3D 地球卫星轨道可视化平台开发 Day7(AI异步加速+卫星系列精简+AI Agent自动评论)
前端·人工智能·3d·html·json
ID_180079054735 小时前
淘宝 API 上货 / 商品搬家 业务场景实现 + JSON 返回示例
前端·javascript·json
M ? A5 小时前
Vue 动态组件在 React 中,VuReact 会如何实现?
前端·javascript·vue.js·经验分享·react.js·面试·vureact
vipbic5 小时前
独立开发复盘:我用 Uni-app + Strapi v5 肝了一个“会上瘾”的打卡小程序
前端·微信小程序