You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

create-react-app中--scripts-version与--typescript参数的区别及联用合理性

React + TypeScript 项目创建方式的区别分析

Great question! Let's break down the differences between these two approaches and whether combining them makes sense.

两种创建方式的核心区别

  • 维护主体与生命周期

    • --scripts-version=react-scripts-ts 是早期社区维护的第三方脚本包,用来给 create-react-app 补充 TypeScript 支持,诞生于官方内置 TypeScript 功能之前。但目前这个包已经停止维护,代码仓库归档,不再适配新版本的 React、TypeScript 或相关工具链。
    • --typescript 是 create-react-app 官方推出的内置选项,是当前官方推荐的 React + TypeScript 项目初始化方式,会随着 create-react-app 同步更新,始终兼容最新的生态版本。
  • 项目配置与体验

    • 使用 react-scripts-ts 时,项目的 TypeScript 配置、ESLint 规则等由第三方脚本维护,可能需要额外手动调整适配需求,而且由于停止维护,遇到新版本依赖冲突的概率极高。
    • 使用 --typescript 选项创建的项目,所有配置(比如 tsconfig.json、ESLint 集成)都是官方统一维护的开箱即用方案,无需额外折腾,还能获得官方的技术支持和更新。
  • 依赖结构

    • react-scripts-ts 会替代官方的 react-scripts 成为项目核心依赖;而 --typescript 只是基于官方 react-scripts 添加 TypeScript 相关依赖(如 typescript、@types/react 等),项目核心依然是官方脚本包。

同时指定两个参数是否合理?

完全不合理,甚至会引发冲突:

  • 当你同时使用 --typescript 和 --scripts-version=react-scripts-ts 时,create-react-app 会优先加载你指定的 react-scripts-ts 脚本,但这个脚本本身已经包含 TypeScript 支持逻辑,而官方的 --typescript 选项是针对默认 react-scripts 的增强设置。两者逻辑会互相冲突,大概率导致项目初始化失败,或者生成一个配置混乱、无法正常运行的项目。
  • 更关键的是,react-scripts-ts 已经被官方方案完全替代,没有任何理由再去使用它,更不用说和官方选项混用了。

推荐方案

现在创建 React + TypeScript 项目,直接使用官方命令即可:

create-react-app my-app --typescript

(注:目前最新版本的 create-react-app 支持交互式创建,你也可以直接运行 create-react-app my-app,然后在提示中选择 TypeScript 模板,效果完全一致。)

内容的提问来源于stack exchange,提问作者Andrey Bushman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:22:13