我学会了将React与Typescript一起使用。在manual中,我看到它使用--scripts-version
参数创建新应用程序:
create-react-app my-app --scripts-version=react-scripts-ts
我还看到create-react-app
具有--typescript
选项。所以,我可以这样写:
create-react-app my-app --typescript
这些基于React的应用程序创建方法的区别是什么?指定这两个参数是否有意义?即
create-react-app my-app --typescript --scripts-version=react-scripts-ts
答案 0 :(得分:0)
同时使用这两种方法都没有意义:
create-react-app my-app --typescript --scripts-version=react-scripts-ts
react-scripts-ts
是deprecated:
create-react-app现在本地支持打字稿-请阅读将打字稿添加到现有项目的指南。
如create-react-app
documentation所述,
要使用TypeScript启动新的Create React App项目,您可以运行:
npx create-react-app my-app --typescript # or yarn create-react-app my-app --typescript
区别在于react-scripts-ts
使用TypeScript而不是Babel,而create-react-app
使用带有TypeScript插件的Babel。这导致一些limitations:
不支持名称空间。解决方法:转到使用文件导出, 或改为使用模块{}语法。
不支持const枚举,因为它们需要类型信息来 编译。解决方法:删除const,使其在以下位置可用 运行时。
不支持export =和import =,因为它们不能 编译到ES.next。解决办法:转换为使用导出默认值,然后 导出const,然后从“ z”导入x,{y}。