PostBot 开发指南
📦 项目概述
PostBot 基于 Plasmo 框架开发的浏览器扩展项目,采用现代前端技术栈(Vue 3 + TypeScript)构建,支持声明式开发和实时热重载功能。
🛠️ 开发环境要求
必备工具
- Node.js
- 包管理器: pnpm(推荐)
可选工具
- Git 版本控制
- Chrome 浏览器(最新版)
🔧 开发流程
- 安装依赖bash
pnpm i - 启动开发服务器bash
pnpm dev # 支持实时重载与 HMR 热更新 - 加载扩展
- 访问
chrome://extensions - 启用 开发者模式
- 点击 加载已解压的扩展程序
- 选择
build/chrome-mv3-dev目录
- 访问
🚀 构建与发布
- 生产版本构建:bash
pnpm build - 生成发布包(ZIP 格式):bash
pnpm build -- --zip
🛠️ 开发指南
后台脚本(Background Script)
- 管理扩展生命周期(安装/更新/卸载)
- 监听浏览器事件(标签页更新/历史记录变更等)
- 禁止 DOM 操作(无法直接访问网页 DOM,需通过内容脚本代理操作)
- 非持久化运行(Manifest V3 中默认按需唤醒,事件触发后自动休眠)
- 通过
chrome.runtime.sendMessage接收内容脚本/弹出窗口的消息 - 使用
chrome.tabs.sendMessage向特定标签页发送指令
内容脚本(Content Script)
- 可直接访问页面 DOM,但无法调用大部分 Chrome API
- 通过
chrome.runtime.sendMessage与后台通信
弹出窗口(Popup)
- 支持 Vue.js 组件开发,可调用完整 Chrome API
- 使用
chrome.storage进行数据存储
❓ 常见问题
- 热重载失效:尝试刷新扩展页面或重启开发服务器。
- 类型错误:检查
tsconfig.json配置并确认依赖安装完整。
🙌 贡献指南
欢迎通过 Pull Request 贡献代码,需满足:
- 代码风格与项目一致
- 通过现有测试用例
- 补充相关文档更新