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';

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

相关推荐
hh随便起个名17 小时前
力扣二叉树的三种遍历
javascript·数据结构·算法·leetcode
我是小路路呀18 小时前
element级联选择器:已选中一个二级节点,随后又点击了一个一级节点(仅浏览,未确认选择),此时下拉框失去焦点并关闭
javascript·vue.js·elementui
程序员爱钓鱼18 小时前
Node.js 编程实战:文件读写操作
前端·后端·node.js
PineappleCoder18 小时前
工程化必备!SVG 雪碧图的最佳实践:ID 引用 + 缓存友好,无需手动算坐标
前端·性能优化
JIngJaneIL18 小时前
基于springboot + vue古城景区管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
敲敲了个代码19 小时前
隐式类型转换:哈基米 == 猫 ? true :false
开发语言·前端·javascript·学习·面试·web
澄江静如练_19 小时前
列表渲染(v-for)
前端·javascript·vue.js
JustHappy19 小时前
「chrome extensions🛠️」我写了一个超级简单的浏览器插件Vue开发模板
前端·javascript·github
Loo国昌19 小时前
Vue 3 前端工程化:架构、核心原理与生产实践
前端·vue.js·架构