wxt 开发 chrome 扩展的问题

wxt 提供了 chrome 扩展开发的包装和热更新。另外默认的初始化项目是 popup 项目,并没有直接创建 side panel 项目的方式。但是可以直接改 popup 目录为 sidepanel,这样可以直接编译输出为 sidepanel。但是还有问题 pnpm dev 模式 sidepanel 就不支持 content script,而 pnpm build 版本又支持。

这样需要配置 wxt.config.ts 直接添加 content_scripts 声明。总之编译输出需要什么权限,都可以在这添加。

import { defineConfig } from "wxt";

// See https://wxt.dev/api/config.html
export default defineConfig({
  srcDir: "src",
  modules: ["@wxt-dev/module-svelte"],
  manifest: {
    content_scripts: [
      { matches: ["*://*/*"], js: ["content-scripts/content.js"] },
    ],
  },
});

另外在 background.ts 中引用 chrome 对象时,为了不让开发工具报错,需要安装 pnpm add -D @types/chrome

另外 wxt 的热更新非常有必要,不用重新打开浏览器重新加载扩展。content.js、background.js 和 sidepanel 分别相当于三个页面,需要通过三个 devtools 的 console 来查看不同的日志。

如果通过 background.js 来中转发送数据到 sidepanel,需要 sidepanel 提前监听,不然会报一个发送错误。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇