2026-02-09 15:52:45 +08:00

63 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# M1 基础架构模块 (v0.0.1-0.0.5)
## 模块概述
- **版本范围**: 0.0.1 ~ 0.0.5
- **任务数**: 5
- **目标**: 搭建浏览器扩展插件的基础框架和开发环境
## 关键产出
- 完整的项目目录结构src/ 及其子目录)
- Manifest V3 配置文件
- Vite + @crxjs 构建工具链
- 模块间通信工具类messaging.js
- 支持 HMR 的完整开发流程
## 任务列表
### M1.1 项目初始化 [目标版本: 0.0.1]
**任务**: 创建项目目录结构
**验收标准**:
- [ ] 存在 `src/` 目录,包含 `background/`, `content/`, `popup/`, `options/`, `shared/` 子目录
- [ ] 存在 `package.json`,已初始化 npm 项目
- [ ] 存在 `.gitignore`,排除 node_modules 和 dist
### M1.2 Manifest V3 配置 [目标版本: 0.0.2]
**任务**: 编写 manifest.json
**验收标准**:
- [ ] manifest.json 位于项目根目录
- [ ] 声明 `manifest_version: 3`
- [ ] 声明 `action` (popup) 入口
- [ ] 声明 `background` (service_worker) 入口
- [ ] 声明 `content_scripts` 匹配所有 URL (`<all_urls>`)
- [ ] 声明必要权限:`storage`, `contextMenus`, `clipboardWrite`
### M1.3 构建工具配置 [目标版本: 0.0.3]
**任务**: 配置 Vite + @crxjs/vite-plugin
**验收标准**:
- [ ] 运行 `npm run dev` 能启动开发服务器
- [ ] 运行 `npm run build` 能生成 `dist/` 目录
- [ ] dist 目录包含所有必要文件,可直接加载到 Chrome
### M1.4 模块间通信工具 [目标版本: 0.0.4]
**任务**: 创建通信工具类
**验收标准**:
- [ ] `src/shared/messaging.js` 存在
- [ ] 封装 `sendToBackground()` 方法content 可向 background 发消息
- [ ] 封装 `sendToContent()` 方法background 可向 content 发消息
- [ ] 提供简单的 ping/pong 测试,验证通信链路通畅
### M1.5 开发环境验证 [目标版本: 0.0.5]
**任务**: 验证完整开发流程
**验收标准**:
- [ ] Chrome 扩展管理页能加载 dist 目录
- [ ] 修改代码后扩展自动刷新HMR
- [ ] Console 无报错,各模块控制台能打印日志
## 依赖
- **前置模块**: 无
- **后置模块**: M2 划词核心模块
## 参考资料
- [AGENTS.md](./AGENTS.md) - 规范文档
- [QUICK_REF.md](./QUICK_REF.md) - 快速参考