WXT浏览器开发中文教程(2)----WXT项目目录结构详解

前言

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

项目结构

WXT 遵循严格的项目结构。默认情况下,它是一个扁平的文件夹结构,如下所示:

html 复制代码
📂 {rootDir}/
   📁 .output/
   📁 .wxt/
   📁 assets/
   📁 components/
   📁 composables/
   📁 entrypoints/
   📁 hooks/
   📁 modules/
   📁 public/
   📁 utils/
   📄 .env
   📄 .env.publish
   📄 app.config.ts
   📄 package.json
   📄 tsconfig.json
   📄 web-ext.config.ts
   📄 wxt.config.ts

以下是这些文件和目录的简要说明:

  • .output/: 所有构建文件都将放在这里
  • .wxt/: 由 WXT 生成,包含 TS 配置
  • assets/: 包含所有应由 WXT 处理的 CSS、图像和其他资源
  • components/: 默认自动导入,包含 UI 组件
  • composables/: 默认自动导入,包含 Vue 的可组合函数
  • entrypoints/: 包含所有将被打包到扩展中的入口点
  • hooks/: 默认自动导入,包含 React 和 Solid 的钩子
  • public/: 包含任何希望直接复制到输出文件夹而不被 WXT 处理的文件
  • utils/: 默认自动导入,包含项目中通用的实用程序
  • .env: 包含环境变量
  • .env.publish: 包含发布的环境变量
  • app.config.ts: 包含运行时配置
  • package.json: 你的包管理器使用的标准文件
  • tsconfig.json: 告诉 TypeScript 如何行为的配置
  • web-ext.config.ts: 配置浏览器启动
  • wxt.config.ts: WXT 项目的主配置文件

添加 src/ 目录

许多开发者喜欢有一个 src/ 目录来分离源代码和配置文件。可以在 wxt.config.ts 文件中启用它:

typescript 复制代码
export default defineConfig({
  srcDir: 'src',
});

启用后,项目结构应如下所示:

html 复制代码
📂 {rootDir}/
   📁 .output/
   📁 .wxt/
   📂 src/
      📁 assets/
      📁 components/
      📁 composables/
      📁 entrypoints/
      📁 hooks/
      📁 modules/
      📁 public/
      📁 utils/
      📄 app.config.ts
   📄 .env
   📄 .env.publish
   📄 package.json
   📄 tsconfig.json
   📄 web-ext.config.ts
   📄 wxt.config.ts

自定义其他目录

可以配置以下目录:

typescript 复制代码
export default defineConfig({
  // 相对于项目根目录
  srcDir: "src",             // 默认值: "."
  outDir: "dist",            // 默认值: ".output"
  // 相对于 srcDir
  entrypointsDir: "entries", // 默认值: "entrypoints"
  modulesDir: "wxt-modules", // 默认值: "modules"
  publicDir: "static",       // 默认值: "public"
})

可以使用绝对路径或相对路径。

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

相关推荐
IT_陈寒26 分钟前
Redis误用keys命令把生产环境搞崩了,血的教训
前端·人工智能·后端
计算机魔术师38 分钟前
5000亿估值冲刺科创板,DeepSeek 为何急着上市?
前端
我血条子呢44 分钟前
前端解析word方案
前端·word
kyriewen1 小时前
我用 AI 写完一个需求后才发现,最难的不是 prompt,而是验收
前端·程序员·ai编程
申行1 小时前
Vue 3 + DYMO Connect Framework 实战:从标签模板到打印服务的完整实现
前端
两只羊ovo1 小时前
Vue 3 + DeepSeek 流式输出实战:从“干等”到“打字机”体验
前端·vue.js
Yeyu1 小时前
车载多 App 同屏渲染(二):SurfaceControlViewHost 跨进程
前端
樊小肆1 小时前
离谱,每轮请求 25% 的 token,竟在重发模型想完就扔的内心独白
前端·人工智能·agent
小妖现世1 小时前
前端面试复习笔记:React 高频题 + JS 手写题
前端
holidaypenguin1 小时前
Windows 本地 HTTPS 证书生成指南
前端