mkdir react-ts-democd react-ts-demonpm initpackage name: (react-ts-demo)version: (1.0.0)description: TypeScript工程化开发entry point: (index.js)test command:git repository: https://gitee.com/zhufengpeixun/react-ts-demokeywords: typescript,reactauthor: zhangrenyanglicense: (ISC) MIT
Commit message
是否符合格式git metadata
生成变更日志angular
的git commit
日志作为基本规范commitize
工具validate-commit-msg
工具conventional-changelog-cli
工具cnpm i commitizen validate-commit-msg conventional-changelog-cli -Dcommitizen init cz-conventional-changelog --save --save-exactgit cz
.gitignore
node_modules.vscodedist
<type>(scope):<subject/><BLANK LINE><body><BLANK LINE><footer>
类型 | 含义 |
---|---|
feat | 新增 feature |
fix | 修复 bug |
docs | 仅仅修改了文档,比如 README、CHANGELOG、CONTRIBUTE 等 |
style | 仅仅修改了空格、格式缩进、偏好等信息,不改变代码逻辑 |
refactor | 代码重构,没有新增功能或修复 bug |
perf | 优化相关,提升了性能和体验 |
test | 测试用例,包括单元测试和集成测试 |
chore | 改变构建流程,或者添加了依赖库和工具 |
revert | 回滚到上一个版本 |
ci | CI 配置,脚本文件等更新 |
validate-commit-msg
可以来检查我们的 commit 规范validate-commit-msg
作为一个githook
来验证提交消息cnpm i husky validate-commit-msg --save-dev
"husky":{"hooks":{"commit-msg":"validate-commit-msg"}}
conventional-changelog-cli
默认推荐的 commit 标准是来自 angular 项目-i CHANGELOG.md
表示从CHANGELOG.md
读取changelog
CHANGELOG.md
为同一文件cnpm i conventional-changelog-cli -D
"scripts":{"changelogs":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"}
tsc --init`
基本参数
参数 | 解释 |
---|---|
target | 用于指定编译之后的版本目标 |
module | 生成的模块形式:none、commonjs、amd、system、umd、es6、es2015 或 esnext 只有 amd 和 system 能和 outFile 一起使用 target 为 es5 或更低时可用 es6 和 es2015 |
lib | 编译时引入的 ES 功能库,包括:es5、es6、es7、dom 等。如果未设置,则默认为:target 为 es5 时:["dom","es5","scripthost"]target 为 es6 时:["dom","es6","dom.iterable","scripthost"] |
allowJs | 是否允许编译 JS 文件,默认是 false,即不编译 JS 文件 |
checkJs | 是否检查和报告 JS 文件中的错误,默认是 false |
jsx | 指定 jsx 代码用于的开发环境preserve 指保留 JSX 语法,扩展名为.jsx ,react-native 是指保留 jsx 语法,扩展名 js,react 指会编译成 ES5 语法 |
declaration | 是否在编译的时候生成相应的.d.ts 声明文件 |
declarationDir | 生成的.d.ts 文件存放路径,默认与.ts 文件相同 |
declarationMap | 是否为声明文件.d.ts 生成 map 文件 |
sourceMap | 编译时是否生成.map 文件 |
outFile | 是否将输出文件合并为一个文件,值是一个文件路径名,只有设置module 的值为amd 和system 模块时才支持这个配置 |
outDir | 指定输出文件夹 |
rootDir | 编译文件的根目录,编译器会在根目录查找入口文件 |
composite | 是否编译构建引用项目 |
removeComments | 是否将编译后的文件中的注释删掉 |
noEmit | 不生成编译文件 |
importHelpers | 是否引入tslib 里的辅助工具函数 |
downlevelteration | 当 target 为ES5 或ES3 时,为for-of 、spread 和destructuring 中的迭代器提供完全支持 |
isolatedModules | 指定是否将每个文件作为单独的模块,默认为 true |
interface Props {name:string,actionRef?:any}export default (props:Props){return <div>{props.name}</div>}