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

55 次浏览次阅读
没有评论

使用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

辉哥

一言一句话
-「
最新文章
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年想在淘宝开店的卖家越来越多,但很多人对实名认证规...
2026年淘宝618怎么买最便宜?比平时能省多少?

2026年淘宝618怎么买最便宜?比平时能省多少?

2026年淘宝618怎么买最便宜?比平时能省多少? 2026年淘宝618作为上半年最大的电商促销活动,又一次成...