使用CreateReactApp搭建React + TypeScript项目,配置ESLint和Prettier

62 次浏览次阅读
没有评论

使用CreateReactApp搭建React+TypeScript项目并配置ESLint与Prettier指南

为什么选择这个技术栈?

在当今前端开发领域,React+TypeScript组合已成为构建企业级应用的首选方案。通过CreateReactApp脚手架工具,开发者可以在2分钟内快速搭建标准化项目结构。配合ESLint代码检查工具和Prettier自动格式化工具,能有效提升代码质量并统一团队编码风格。

环境准备

安装Node.js环境

确保已安装Node.js 14+版本(推荐使用LTS版本),在终端执行验证命令:

node -v
npm -v

创建React TypeScript项目

初始化项目脚手架

通过以下命令创建名为”react-ts-demo”的项目(耗时约1到2分钟):

npx create-react-app react-ts-demo --template typescript

注意:该命令自动完成以下配置:

  • TypeScript编译器预设
  • React类型定义文件
  • TSLint到ESLint的平滑迁移

项目结构解析

react-ts-demo/
├── src/
│   ├── App.test.tsx
│   ├── App.tsx
│   ├── index.tsx
│   └── react-app-env.d.ts
├── tsconfig.json
└── package.json

配置ESLint代码规范

安装核心依赖包

npm install eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin --save-dev

创建.eslintrc.json配置文件

{
  "parser": "@typescript-eslint/parser",
  "plugins": ["@typescript-eslint"],
  "extends": [
    "eslint:recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:react/recommended"
  ],
  "rules": {
    "react/react-in-jsx-scope": "off",
    "@typescript-eslint/no-explicit-any": "warn"
  }
}

集成Prettier自动格式化

安装格式化工具链

npm install prettier eslint-config-prettier eslint-plugin-prettier --save-dev

配置.prettierrc文件

{
  "semi": true,
  "singleQuote": true,
  "tabWidth": 2,
  "trailingComma": "es5"
}

更新ESLint配置

{
  "extends": [
    ...,
    "plugin:prettier/recommended"
  ]
}

自动化工作流配置

添加VS Code配置(.vscode/settings.json)

{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "eslint.validate": ["typescript", "typescriptreact"]
}

创建便捷脚本命令

{
  "scripts": {
    "lint": "eslint src//.{ts,tsx}",
    "format": "prettier --write src//.{ts,tsx}"
  }
}

项目打包与部署

生产环境构建

执行标准化打包命令:

npm run build

该命令会生成优化后的build目录,包含:

  • 经过Tree Shaking的代码
  • 自动生成的source map文件
  • 静态资源哈希命名文件

最佳实践建议

  • 团队规范:建议将ESLint/Prettier配置放入项目根目录,确保全成员配置统一
  • Git Hook:通过husky配置pre-commit钩子,自动执行lint检查
  • 持续集成:在CI/CD流程中加入npm run lint校验步骤

常见问题解决

类型定义报错处理

遇到模块类型缺失时,可通过安装@types库解决:

npm install @types/react-dom --save-dev

格式化冲突处理

如果出现ESLint与Prettier规则冲突,可:

  1. 通过eslint-config-prettier禁用冲突规则
  2. 调整规则优先级顺序
  3. 创建overrides配置特定文件规则

通过本文的配置指南,开发者可以快速搭建符合现代前端工程标准的React+TypeScript开发环境。这种配置方案不仅提升开发效率,还能保证多人协作时的代码一致性,是构建可维护大型应用的理想选择。

正文完
 0

辉哥

一言一句话
-「
最新文章
🚀 CentOS 7 稳定安装 Docker 部署 searxng(国内可用)

🚀 CentOS 7 稳定安装 Docker 部署 searxng(国内可用)

事例:CentOS 7 (Core)。 ⚠️ 关键问题是: 我们走 CentOS 7 专用 + 阿里云镜像稳定...
TikTok直播能赚钱吗?赚到的美金怎么提现?

TikTok直播能赚钱吗?赚到的美金怎么提现?

TikTok直播能赚钱吗?赚到的美金怎么提现详解(2026最新) TikTok作为全球最火的短视频平台,不仅是...
京东618消费券什么时候发?怎么正确使用?

京东618消费券什么时候发?怎么正确使用?

京东618消费券什么时候发?怎么正确使用? 每年京东618都是全年最值得囤货的购物节点,海量消费券直接让到手价...
淘宝网店可以从哪里购买?平台靠谱吗?

淘宝网店可以从哪里购买?平台靠谱吗?

淘宝网店可以从哪里购买?平台靠谱吗? 在电商时代,越来越多的人希望通过淘宝开店实现创业梦想。但从零开始建店需要...
淘宝全球购店铺如何转让?具体操作步骤是什么?

淘宝全球购店铺如何转让?具体操作步骤是什么?

淘宝全球购店铺如何转让?具体操作步骤是什么? 近年来,跨境电商快速发展,淘宝全球购作为阿里巴巴旗下重要的跨境平...
出售淘宝三钻店铺要什么条件?流程复杂吗?

出售淘宝三钻店铺要什么条件?流程复杂吗?

出售淘宝三钻店铺要什么条件?流程复杂吗? 在电商创业热潮中,很多新手卖家都希望快速起步,避免从零开始漫长的信誉...
2026年淘宝双皇冠店铺怎么转让?两个皇冠靠谱吗?

2026年淘宝双皇冠店铺怎么转让?两个皇冠靠谱吗?

2026年淘宝双皇冠店铺怎么转让?两个皇冠靠谱吗? 2026年,淘宝平台竞争更加激烈,很多新手创业者选择直接接...
淘宝闪购入口在哪里?免单玩法怎么操作?

淘宝闪购入口在哪里?免单玩法怎么操作?

淘宝闪购入口在哪里?免单玩法怎么操作? 淘宝闪购是淘宝App上的一级核心频道,主打限时优惠、品牌好物和快速送达...
2026年1688店铺怎么转让?开一家1688要多少钱?

2026年1688店铺怎么转让?开一家1688要多少钱?

2026年1688店铺怎么转让?开一家1688要多少钱? 在2026年,1688作为阿里巴巴旗下的B2B批发平...
淘宝闪购免单卡和请客卡怎么获得?

淘宝闪购免单卡和请客卡怎么获得?

淘宝闪购免单卡和请客卡怎么获得? 在淘宝购物时,最让人兴奋的莫过于各种省钱福利,尤其是闪购频道的免单卡和请客卡...
2026年淘宝开店必须实名认证吗?在哪里查看认证?

2026年淘宝开店必须实名认证吗?在哪里查看认证?

2026年淘宝开店必须实名认证吗?在哪里查看认证? 2026年想在淘宝开店的卖家越来越多,但很多人对实名认证规...