扩展开发模板
- TypeScript
类型安全 - Less
样式管理 - React-Router
多页面内存路由管理 - localforage
存储方案,方便使用indexedDB,localStorage - zustand
状态管理,弥补Context的不足 - react-hook-form
表单校验 - tea-component
UI组件 - Hot Reload
开发模式下,自动刷新 - 支持浏览器
Chrome,Firefox,Edge 网页JS-window属性方式向插件发送消息,接收消息
# 开发版打包,包含sourcemap
npm run build:dev
## 生产打包,不同平台打包见scripts定义
npm run build:prod
## crx文件打包
npm run pack
## 热更开发调试
npm run dev
- 执行构建
- Chrome下访问 chrome://extensions
- 打开开发者模式, 点击 Load unpacked extension... 选择该项目下的dist文件夹即可
about:debugging#/runtime/this-firefox
window.extSdk.sendMessage('123')全局已经注入了变量app.manifest用于获取相关配置
// 获取版本号
app.manifest.version如果觉得内置的tea-component不合适,可以操作如下步骤进行卸载
- /dist/popup.html中删除
<link rel="stylesheet" href="css/tea.css"> - webpack.common.js中删除CopyPlugin/copy样式操作
{from: "node_modules/tea-component/dist/tea.css", to: "../css"},
- 模版库提供的方案是package.json中crxConfig自定义字段配置,代码中直接
CRX_CONFIG.xxx消费即可 - 当然可以直接代码中增加配置常量