TypeScript 从零实现 axios
TypeScript library starter
生成的目录结构如下:
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── code-of-conduct.md
├── node_modules
├── package-lock.json
├── package.json
├── rollup.config.ts // rollup 配置文件
├── src // 源码目录
├── test // 测试目录
├── tools // 发布到 GitHup pages 以及 发布到 npm 的一些配置脚本工具
├── tsconfig.json // TypeScript 编译配置文件
└── tslint.json // TypeScript lint 文件
使用 TypeScript library starter
创建的项目集成了很多优秀的开源工具:
- 使用 RollupJS 帮助我们打包。
- 使用 Prettier 和 TSLint 帮助我们格式化代码以及保证代码风格一致性。
- 使用 TypeDoc 帮助我们自动生成文档并部署到 GitHub pages。
- 使用 Jest帮助我们做单元测试。
- 使用 Commitizen帮助我们生成规范化的提交注释。
- 使用 Semantic release帮助我们管理版本和发布。
- 使用 husky帮助我们更简单地使用 git hooks。
- 使用 Conventional changelog帮助我们通过代码提交信息自动生成 change log。
这里我们列举了很多工具,感兴趣的同学们可以点开他们的链接对这些工具做进一步学习。
TypeScript library starter
同样在 package.json
中帮我们配置了一些 npm scripts
,接下来我们先列举一下我们开发中常用的 npm scripts
,剩余的我们在之后学习中遇到的时候再来介绍。
npm run lint
: 使用 TSLint 工具检查src
和test
目录下 TypeScript 代码的可读性、可维护性和功能性错误。npm start
: 观察者模式运行rollup
工具打包代码。npm test
: 运行jest
工具跑单元测试。npm run commit
: 运行commitizen
工具提交格式化的git commit
注释。npm run build
: 运行rollup
编译打包 TypeScript 代码,并运行typedoc
工具生成文档。