一个使用 TypeScript 开发的简单浏览器插件项目。
cnb-ci-flow/ ├── src/ │ ├── popup/ # 弹窗相关文件 │ │ ├── popup.html # 弹窗HTML │ │ ├── popup.ts # 弹窗逻辑 │ │ └── popup.css # 弹窗样式 │ ├── content/ # 内容脚本 │ │ └── content.ts # 页面注入脚本 │ ├── background/ # 后台脚本 │ │ └── background.ts # Service Worker │ └── types/ # 类型定义 │ └── index.ts # 通用类型 ├── public/ │ ├── manifest.json # 扩展配置文件 │ └── icons/ # 图标文件夹 ├── dist/ # 构建输出目录 ├── webpack.config.js # Webpack配置 ├── tsconfig.json # TypeScript配置 └── package.json # 项目依赖
npm install
npm run dev
这将启动 Webpack 的 watch 模式,自动监听文件变化并重新构建。
npm run build
构建完成后,dist 目录将包含所有打包后的文件。
chrome://extensions/dist 目录扩展使用 Chrome 的消息传递API在不同组件间通信:
项目使用 TypeScript 提供完整的类型安全:
ExtensionMessage: 消息类型定义ExtensionResponse: 响应类型定义PageInfo: 页面信息类型定义MIT License