react18-代码规范-ts-仿网易云项目

文章详细介绍了如何创建React项目并集成typescript,包括编辑器配置、代码规范(如EditorConfig、Prettier、Eslint)、路由设置、CSS重置、以及Redux状态管理和接口数据类型的转换。同时,提到了解决在项目中遇到的各种问题和最佳实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目创建

因为react创建项目不像vue会提示需要按照xxx,react默认创建出的项目是不包含其他东西的,我们想集成typescript时,可以追加参数
create-react-app yh_music --template typescript
删掉一些无用文件变成下图
在这里插入图片描述

我们会发现一个文件
react-app-env.d.ts文件有什么作用呢?

此文件引用特定于使用Create React App启动的项目的TypeScript类型声明。

这些类型声明添加了对导入资源文件的支持,如bmp、gif、jpeg、jpg、png、webp和svg。这意味着以下导入将按预期正常工作,不会出现错误:

import logo from './logo.svg';

它还添加了对导入CSS模块的支持。这与导入扩展名为.module.css、.module.scss和.module.sass的文件有关。

取消严格模式
在index.jsx中可将React.StrictMode删除掉,避免子组件刷新两次
在这里插入图片描述

配置别名,使用craco修改webpack的配置
配置同爱彼迎项目
注意这里配完会报错,使用@符号后ts报错
在这里插入图片描述
在tsconfig.json文件加两个字段即可解决
一个是baseUrl,一个是path
在这里插入图片描述

代码规范

 EditorConfig: 专注于统一编辑器编码风格配置
 Prettier: 专注于检查并自动更正代码风格,美化代码
 Eslint: 专注于 JavaScript 代码质量检查, 编码风格约束等

集成editconfig配置

Editconfig有助于为不同IDE编辑器上处理同一项目的多个开发人员提供维护一致的编码风格
npm install perttier -D
.editorconfig文件

# http://editorconfig.org

root = true

[*] # 表示所有文件适用
charset = utf-8 # 设置文件字符集为 utf-8
indent_style = space # 缩进风格(tab | space)
indent_size = 2 # 缩进大小
end_of_line = lf # 控制换行类型(lf | cr | crlf)
trim_trailing_whitespace = true # 去除行尾的任意空白字符
insert_final_newline = true # 始终在文件末尾插入一个新行

[*.md] # 表示仅 md 文件适用以下规则
max_line_length = off
trim_trailing_whitespace = false

然后安装这个插件
在这里插入图片描述

prettier配置

.prettierrc文件

{
   
   
  "useTabs": false,
  "tabWidth": 2,
  "printWidth": 80,
  "singleQuote": true,
  "trailingComma": "none",
  "semi": false
}

配置项简介
在这里插入图片描述

在我们配置完后使用ctrl+s保存时就会发现已经触发prettier的规则了
我们现在在package.json里的script里面加上下面这句代码

"prettier":"prettier --write ."

然后配置一个.prettierignore文件,因为上面的命令是让所有的代码都执行prettier的格式化,但是对于nodemodules一些文件不需要格式化,所以要配置忽略文件
.prettierignore

/build/*
.local
.output.js
/node_modules/**

**/*.svg
**/*.sh

/public/*

执行npm run perttier就会都格式化了。
还需配置一个东西,安装这个插件
在这里插入图片描述

在vscode的文件-首选项-设置中搜索editor default
在这里插入图片描述
找到格式化配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值