https://github.com/hifizz/typescript-react-starter
TypeScript React Starter.
https://github.com/hifizz/typescript-react-starter
Last synced: 9 months ago
JSON representation
TypeScript React Starter.
- Host: GitHub
- URL: https://github.com/hifizz/typescript-react-starter
- Owner: hifizz
- Created: 2018-08-29T08:00:13.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-04-23T10:56:29.000Z (over 6 years ago)
- Last Synced: 2025-01-22T12:29:26.556Z (11 months ago)
- Language: JavaScript
- Size: 463 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TypeScript-react-starter
开箱即用的 TypeScript React 项目级脚手架。
## 特性
- TypeScript
- 默认使用 CSS Module
- 默认使用 SASS 预处理器
- 代码格式化 Prettier
- 编辑器格式同步 editorconfig
- 集成了团队 Git 开发规范
- 默认配置了 alias (TypeScript alias & jest alias)
- React 组件测试模板代码
- GitLab-CI 配置模板
## 使用
1. 克隆项目:
```bash
git clone git@github.com:hifizz/typescript-react-starter.git ts-react-project
cd ts-react-project
rm -rf .git
```
2. 安装依赖:
```bash
yarn install
```
3. 开发
```bash
yarn start
```
## 命令
- `yarn start`
- `yarn build`
- `yarn test`
## Q&A
Q: 为什么没有配置 `npm run lint`?
A: 项目默认配置了 `tslint` `prettier` 并把 `prettier` 加到了 git precommit hook 里面。只要保证 `tslint.json` 和 `.prettierc` 一致,那么团队的代码规范就能够保证一致。
Q: 为什么要 `enject` ?
A: 为了对 webpack config 进行定制。在业务复杂的情况,我们通常需要对webpack配置进行修改,在没有 enject 的情况下,需要借助一些工具来对webpack配置进行重写。我认为这样做带来的麻烦更多。拿到真正的 config 进行修改,更有掌控力。当然,这也会带来不能跟着 cra 升级的问题,其次是升级构建工具时,需要自己修改很多配置。但这对于一个持续迭代的项目来说,可以接受。