React+TypeScript项目构建的两种实现方式与配置详解

作者:远帆

时间:2026-10-24

浏览:291

本文详细讲解在React项目中集成TypeScript的两种主要方式:一是通过指定cra-template-typescript模板直接创建项目,二是为现有React项目手动添加TypeScript依赖。文章对比了不同命令参数的效果,说明了依赖包的作用,并解析了自动生成的tsconfig.json配置项,帮助开发者快速上手React+TS开发环境搭建。

文章目录

React集成TypeScript的两种构建方案概述

React项目的构建过程本身并不复杂,当引入TypeScript时,只要遵循官方指南,操作依然清晰明了。目前主要有两种主流方案可供选择:

直接创建TypeScript模板项目

第一种方案是直接创建一个原生支持TypeScript的React项目。在创建过程中,必须显式指定模板参数,不能使用默认的cra-template,而应使用cra-template-typescript模板以确保项目结构正确。


npx create-react-app tsreactdemo --template typescript

    React集成TypeScript的两种构建方案概述 

项目创建成功后的提示信息与常规React项目类似。进入项目目录后,执行yarn start或npm start即可启动开发服务器。

 React集成TypeScript的两种构建方案概述 

在启动项目前,建议先检查文件结构。默认情况下,项目会生成tsconfig.json配置文件,且src目录下的默认入口文件index.js和App.js已自动转换为TypeScript版本,即index.tsx和App.tsx。

React集成TypeScript的两种构建方案概述

查看package.json文件中的依赖列表,可以发现与标准React项目相比,额外引入了以下类型定义包:

    React集成TypeScript的两种构建方案概述

具体新增的依赖包括@types/jest、@types/node、@types/react以及@types/react-dom,这些包为TypeScript提供了必要的类型支持。

早期版本中,创建TypeScript React项目的命令似乎是npx create-react-app xxx --typescript,但当前版本已不再支持此写法。现在必须使用--template typescript参数,而非--typescript。这并非操作错误,而是官方工具的迭代更新。前端技术更新迅速,若一两年不跟进学习,原有认知可能会被颠覆。需要注意的是,使用--typescript参数不会报错,但会默认创建普通React项目,不包含TypeScript相关配置。

此外,官方文档建议不要全局安装create-react-app工具。在最新版本中,直接使用npx create-react-app即可创建最新的React项目。如果已全局安装且版本较旧,可能会创建出过时的React项目,建议通过npm uninstall -g create-react-app卸载全局安装。

现有项目手动添加TypeScript依赖

第二种方案是在已有的React项目基础上,手动添加TypeScript相关依赖。


npm install typescript @types/react --save

首先创建一个标准的React项目:

    React集成TypeScript的两种构建方案概述 

在命令中直接加上--typescript参数,这是早期推荐的方式。虽然当前版本下此参数不再生效,但不会报错,最终创建的是使用cra-template模板的标准React项目。

    React集成TypeScript的两种构建方案概述

接下来,手动添加TypeScript依赖:

    React集成TypeScript的两种构建方案概述

只需添加这些依赖,无需手动创建tsconfig.json文件,项目即可正常运行,这相当于仅增加了依赖而未对项目结构进行大规模修改。

当将index.js和App.js重命名为index.tsx和App.tsx后,执行npm start或yarn start,系统会自动生成tsconfig.json文件。这是官方明确说明的行为,因此无需手动创建该配置文件。

    React集成TypeScript的两种构建方案概述

查看自动生成的tsconfig.json文件内容,可以看到以下配置:


{
  "compilerOptions": {
    "target": "es5",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "noFallthroughCasesInSwitch": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react-jsx"
  },
  "include": [
    "src"
  ]
}

手动创建的配置文件大致与此相同,因此直接利用系统自动生成更为便捷。

至此,关于React结合TypeScript进行项目构建的案例讲解完毕。如需了解更多相关内容,可搜索本站过往文章或继续阅读后续文章,感谢支持!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章