灵活强大的零配置 Webextension 开发脚手架。html
<pre>
git clone git@github.com:crimx/create-react-typescript-sass-webextension.git 你的仓库名
cd 你的仓库名
git remote set-url git@github.com:你的用户名/你的仓库名.git
yarn install
</pre>react
大多数状况下你只须要处理 src
下的文件:git
backgroud
, content
和 popup
。不须要的话直接删除就行,Webpack 入口会自动生成。src
中新建目录,目录名会被用做入口名。目录中应包含一个 index.(js|jsx|ts|tsx)
文件。若是须要输出页面的话再添加个 index.html
做为模板。能够参考 popup 页面。background
, components
, assets
和 manifest
是预留名称。github
background
用于生成背景脚本,用其它的名字做入口的话虚拟扩展环境不会加载。components
放共用的组件。assets
放静态文件。manifest
用于生成 manifest.json
。web
common.manifest.json
。若是你不但愿合并设置,把它的内容改为空 JSON {}
。edge.manifest.json
。src
目录下添加目录,却又不但愿其生成入口,用 _
开头的目录名。yarn start
加载虚拟浏览器扩展环境,调整页面样式时有用。ajax
config/fake-env/webextension-page.js
中添加。popup
页面。 若是要换其它入口,好比 options
页面,能够运行 yarn start --main=options
。background
脚本会默认加载 (若是存在的话)。config/fake-env/fake-ajax
拦截 ajax 请求。yarn dev
跟 yarn start
同样。yarn test
模块测试。chrome
yarn test --coverage
查看 coverage 结果。sinon-chrome
,TypeScript 类型已调好,直接写代码就行。yarn build
完整构建项目。typescript
build
目录中。yarn release
再构建。yarn devbuild
不压缩代码快速构建项目,检测文件变化。json
chrome
,对于其它浏览器,如 Firefox ,运行 yarn devbuild --firefox
。manifest
下,如 opera.manifest.json
。 --debug
能够开启 process.env.DEBUG_MODE
。yarn commit
使用 conventional 风格 commit 代码。 VSCode 用户还能够用 vscode-commitizen 扩展。yarn release
自动计算增长版本号并更新 CHANGELOG 日志。能够设置 travis CI 和 greenkeeper 来自动更新依赖。浏览器
若是须要一并更新 lockfile ,使用 greenkeeper-lockfile 。
本模板使用 conventional 风格。如需更换,参考 commitlint 和 commitizen 配置。
本模板使用 TypeScript 版本的 Standard JavaScript 代码风格,能够在 tslint.json
中修改。
参考 create-reate-app ,大部分支持。