是否可以将TypeScript与create-react-app一起使用?如果是这样,你会怎么做?
答案 0 :(得分:48)
你可以这样做:
create-react-app my-app --scripts-version=react-scripts-ts
请参阅https://github.com/wmonk/create-react-app-typescript
不需要弹出。
答案 1 :(得分:18)
这是要走的路:
# update create-react-app first
npm update -g create-react-app
create-react-app my-app --typescript
Create React App v2.1.0现在支持TypeScript,因此您不再需要弹出或使用react-scripts-ts
分支;
或者您可以add TypeScript to the existing app:
yarn add typescript @types/node @types/react @types/react-dom @types/jest
# or
npm install --save typescript @types/node @types/react @types/react-dom @types/jest
然后将.js
文件重命名为.tsx
文件以开始使用TypeScript。
请注意,当您运行应用程序时,将为您创建tsconfig.json。除了some options之外,您还可以编辑tsconfig.json。
积分:
[1] Vincent answer
答案 2 :(得分:7)
Typescript现在可以在2.1版的create-react-app中使用!
您现在可以使用它,就像这样(as shown here):
npx create-react-app@next app-name --scripts-version=2.0.6-next.c662dfb0 --typescript
答案 3 :(得分:2)
我在create-react-app的github问题上发布了一个功能请求,这是响应:
嗨!我们还没有准备好考虑TypeScript(参见#142) 更新)。我们还没有完成Flow集成(我们会这样做 建议作为类型安全的第一选择。
此外,现在还有一些非常有趣的事情。 见babel / babylon#320和babel / babylon#444。 TypeScript可能很快就会出现 由巴比伦解析(并由巴贝尔编译)。微软有兴趣 看到这种情况发生了,并且自己正在制作WIP。
这个考虑可能还需要几个月的时间。遗憾!
虽然我们不知道,但有一个支持CRA的分支 打字稿。如果它不适合你,我们就无法提供支持,但是 它应该!
不确定如何通过levito的回应来解决这个问题。
以下是github问题的链接:
https://github.com/facebookincubator/create-react-app/issues/1998#issuecomment-295311100
答案 4 :(得分:1)
以下是有关create-react-app
--typescript
标志的更新
以前,为了使用create-react-app
在打字稿中生成新项目,我们使用了typescript
标记,如下所示:
npx create-react-app my-app --typescript
但是typescript
的下一个主要发行版中将删除此create-react-app
标志,如create-react-app --help
--typescript (this option will be removed in favor of templates in the next major release of create-react-app)
因此,新的解决方案是使用here
所述的模板例如:
npx create-react-app my-app --template typescript
答案 5 :(得分:1)
您可以使用Facebook的官方Typescript Template来创建React App。
做
npx create-react-app my-app --template typescript
或
yarn create react-app my-app --template typescript
答案 6 :(得分:0)
此外,您可以使用此starter(https://github.com/vtereshyn/react-typescript-eslint-starter)
创建应用它不使用create-react-app,因此可以完全自定义和更改。因为使用create-react-app在某些情况下很难添加内容...