可用脚本:
yarn start
: 启动 devyarn build
: 打生产打包yarn build:qa
: 打包测试环境yarn lint
: 检查语法和样式yarn cz
: 提交代码yarn cloc
: 统计代码量
采用craco
来代替react-scrpits
提供git
的钩子,以便在git commit
前做检查
"lint:js": "eslint --ext .js --ext .tsx --ext .jsx src/ --fix", // 使用eslint 检查语法
"lint:style": "prettier -c --write src", // 使用prettier检查格式
"lint": "concurrently yarn:lint:*", // 并行同时检查语法和格式
husky
安装husky
之后先执行npx husky install
或yarn husky install
,来添加Git hooks
同时在package.json
的scripts
中添加"postinstall": "husky install"
使用npx husky add pre-commit "yarn lint"
来添加钩子
上面命令意思是在pre-commit
时,执行yarn lint
命令
使用commitizen来规范git commit message
该版本使用了git-cz
- 设置了
@
这一个别名,指向src
目录 - 添加
less
- 添加
less module
- 在每个 less 文件中自动引入全局变量
src/styles/variables.less
在yarn
或者npm
时,可以读取package.json
中的内容(参考文章:package-json-values-are-accessible-in-npm-yarn-scripts)
将token
的 key 存在package.json
中,从.env
中读取
在/src/config
下会根据当前的环境变量获取对应的值
目前有.env.development
、.env.qa
和.env.production
分别对应开发、测试、生产三个环境
当有新环境需要打包时,使用dotenv -e .env.xxx
指定使用当.env
即可
在/src/components/error-boundary
对错误进行捕获,如果发生错误,则显示错误页
但是以下几类无法捕获
- 事件处理
- 异步
- 服务端渲染
- 自身异常 参考:官方文档
由于antd
暂时没有提供以服务对方式调用spin
,因此自己写了一个
在public/index.html
中实现了一个loadingMask
和一个loading.gif
默认display:none
,当loading
时将display
设为flex
即可居中显示
在utils/loading.js
中暴露了showLoading
和hideLoading
两个方法,可以直接使用
- 使用
normalize.css
来重置样式 - 使用
core-js
和react-app-polyfill
来支持 IE 浏览器 - 使用
classnames
来进行classname
管理