WXT浏览器插件开发中文教程(23)---- 集成前端框架

前言

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

前端框架支持

内置模块

WXT 为最流行的前端框架预配置了模块:

安装对应框架的模块,然后将其添加到配置中:

WXT 配置 React 支持

ts 复制代码
import { defineConfig } from 'wxt';
export default defineConfig({
  modules: ['@wxt-dev/module-react'],
});

WXT 配置 Vue 支持

ts 复制代码
import { defineConfig } from 'wxt';
export default defineConfig({
  modules: ['@wxt-dev/module-vue'],
});

WXT 配置 Svelte 支持

ts 复制代码
import { defineConfig } from 'wxt';
export default defineConfig({
  modules: ['@wxt-dev/module-svelte'],
});

WXT 配置 Solid 支持

ts 复制代码
import { defineConfig } from 'wxt';
export default defineConfig({
  modules: ['@wxt-dev/module-solid'],
});

添加 Vite 插件 [​](#添加 Vite 插件 "#adding-vite-plugins")

如果你的框架没有官方的 WXT 模块,不用担心!WXT 支持任何带有 Vite 插件的框架。

只需将 Vite 插件添加到配置中即可!在 HTML 页面或内容脚本中使用框架,它将正常工作 👍

ts 复制代码
import { defineConfig } from 'wxt';
import react from '@vitejs/plugin-react';
export default defineConfig({
  vite: () => ({
    plugins: [react()],
  }),
});

WXT 模块只是简化了配置并添加了自动导入。它们与上述内容没有太大区别。

多个应用

由于 Web 扩展通常包含多个 UI,分布在多个入口点(弹出窗口、选项、更新日志、侧边栏、内容脚本等),你需要为每个入口点创建单独的应用实例。

通常,这意味着每个入口点应该是一个包含其自身文件的目录。以下是推荐的文件夹结构:

html 复制代码
📂 {srcDir}/
   📂 assets/          <---------- 将共享资源放在这里
      📄 tailwind.css
   📂 components/
      📄 Button.tsx
   📂 entrypoints/
      📂 options/       <--------- 使用一个包含 index.html 文件的文件夹
         📁 pages/      <--------- 如果有,这是一个放置路由页面的好地方
         📄 index.html
         📄 App.tsx
         📄 main.tsx    <--------- 在这里创建并挂载你的应用
         📄 style.css   <--------- 入口点特定样式
         📄 router.ts

配置路由器

所有框架都带有路由器,用于通过 URL 路径构建多页面应用......但 Web 扩展的工作方式不同。由于 HTML 文件是静态的,chrome-extension://{id}/popup.html,无法通过路由更改整个路径。

相反,你需要将路由器配置为运行在"哈希"模式下,其中路由信息是 URL 的哈希的一部分,而不是路径(例如:popup.html#/popup.html#/account/settings)。

请参阅路由器的文档,了解有关哈希模式及其启用方法的信息。以下是一些流行路由器的非详尽列表:

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

相关推荐
excel6 分钟前
为什么相同卷积代码在不同层学到的特征完全不同——基于 tfjs-node 猫图像识别示例的逐层解析
前端
知识分享小能手6 分钟前
React学习教程,从入门到精通,React 使用属性(Props)创建组件语法知识点与案例详解(15)
前端·javascript·vue.js·学习·react.js·前端框架·vue
用户21411832636029 分钟前
dify案例分享-免费玩转即梦 4.0 多图生成!Dify 工作流从搭建到使用全攻略,附案例效果
前端
CodeSheep9 分钟前
稚晖君又开始摇人了,有点猛啊!
前端·后端·程序员
JarvanMo11 分钟前
Flutter Web vs Mobile:主要区别以及如何调整你的UI
前端
IT_陈寒31 分钟前
Java性能优化:从这8个关键指标开始,让你的应用提速50%
前端·人工智能·后端
天生我材必有用_吴用33 分钟前
Vue3+Node.js 实现大文件上传:断点续传、秒传、分片上传完整教程(含源码)
前端
摸鱼的春哥1 小时前
前端程序员最讨厌的10件事
前端·javascript·后端
牧羊狼的狼5 小时前
React 中的 HOC 和 Hooks
前端·javascript·react.js·hooks·高阶组件·hoc
知识分享小能手6 小时前
React学习教程,从入门到精通, React 属性(Props)语法知识点与案例详解(14)
前端·javascript·vue.js·学习·react.js·vue·react