小白手动搭建React17脚手架+TypeScript4语言开发项目

646 阅读1分钟

#React+TS4

React开发框架

一、 使用yarn

a) yarn.lock

二、 npx create-react-app my-app

a) 参考: zh-hans.reactjs.org/docs/create…

三、 配置绝对路径

a) tsconfig.js

​ i. 添加 baseUrl 为 ./src

四、 配置eslint、prettier、commitlint

a) 代码格式化:prettier

​ i. 安装流程,参考地址:prettier.io/

  1. PS:使用pre-commit方式在提交前自动格式化代码

安装 ​ ii. 配置pre-commit Hook,参考地址:prettier.io/docs/en/pre…

配置 ​ iii. 防止不同IDE产生不同的编码风格

b) 代码格式化:eslint

​ i. eslint 协助pritter,pritter优先

​ ii. 参考地址:prettier.io/docs/en/ins…

eslint

c) 提交信息格式化:commitlint

​ i. 安装

​ ii. 配置命令:npx husky add .husky/commit-msg "yarn commitlint --edit $1"

​ iii. commit信息格式化

commitlint ​ iv. 参考地址:github.com/conventiona…

五、 Mock

a) json-server

b) 安装

​ i. 参考地址:github.com/typicode/js…

六、 TS类型

a) qs库需要通过 yarn add @types/qs -D 由JS转成TS;

b) 每一个方法都需要定义传入参数的类型,通过interface定义,或者在定义的变量的同时制定其类型;

c) 尽量避免使用any这个类型;

d) 数据类型

​ i. 除了number, string, Boolean, bigint, symbol, null, or undefinded,其他都是object

​ ii. tuple“数量固定,类型各异”的数组

​ iii. unknown是一个“严格”版的any

​ iv. .d.ts文件是 JS文件+.d.ts文件===ts文件

​ v. ts中如果函数没有定义返回值的类型,ts会自动根据函数上下文决定返回类型;

​ vi. 面向接口编程,不是面向对象编程

title

七、 css-in-js方案:emotion

八、 grid和flex

a)