首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >逐步从ES5迁移到TS

逐步从ES5迁移到TS
EN

Stack Overflow用户
提问于 2022-06-15 12:30:59
回答 4查看 357关注 0票数 6

我正在运行一个包含数千个.js文件的大型项目,这些文件都是用es5编写的,由于TS的许多原因和好处,我们决定开始迁移到TS,经过几天和多项研究之后,我将详细阐述以下几点:

要开始从es5 ts 迁移到ts,我们可以通过两种方式开始:

First way:

1-安装ts,创建tsconfig并将allowJS设置为true,然后开始将文件扩展名更改为.ts,默认情况下一切都将正常工作。

2.由于我们希望逐步迁移,所以我们不希望立即将全局脚本替换为本机模块,换句话说,我们不希望立即键入importexport,而是希望保持旧的global scripts方式,使用/// <reference path="">加载依赖项。

3.在上一步之后,我们可以逐步开始将文件转换为本机模块esm

第二条路:

1-正如我所读到的关于UMD的文章,它将同时工作在borwser(客户端)和服务器上,这意味着支持所有类型的模块AMD, CommonJS, SystemJS and Native ES modules

2-在以UMD的方式重写脚本之后,我们可以逐渐开始将脚本转移到ESM

最后但并非最不重要的是,关于智能,我们将开始相应地编写.d.ts文件,或者我们可以依靠ts-loader生成这些文件

最后,我们要么使用ts-loader,要么使用babel,但是我们不确定每个限制是否都有一些限制。

对于什么是开始迁移的最佳方式,任何想法都是值得赞赏的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2022-06-25 09:14:00

我很感激所有的答案,但就我的情况而言,它是如此复杂,因为ts模块会影响scope,我发现有用的是使用所谓的webpack中的shimmer modules,它允许一个名为imports-loader的特性,我可以使用它来操作js的范围,因此没有什么中断,然后我可以一个文件一个文件地移动开始迁移。

票数 0
EN

Stack Overflow用户

发布于 2022-06-23 18:45:29

也许这个工具可以帮你:https://github.com/airbnb/ts-migrate

ts-迁移是一种帮助将代码迁移到TypeScript的工具。它接受一个JavaScript或部分TypeScript项目,并给出一个编译TypeScript项目。ts-迁移旨在加速TypeScript迁移过程。生成的代码将通过构建,但需要跟踪以提高类型安全性。

票数 4
EN

Stack Overflow用户

发布于 2022-06-24 07:46:51

如果可能的话,启动possible并编写迁移脚本来完成代码复制/粘贴任务。其中,项目设置在编译/构建/运行/lint方面将是无错误的。因此,即使在将来也不会有任何问题,您只需要添加模块。您可以一个模块一个模块地迁移。

现在,如果您要迁移到TS,意味着不只是通过扩展或包类型,因为它不会有更多的好处,您将需要更改代码,如类型、接口、信任等。

因此,启动一个新的项目,然后将代码转换为TS,然后逐步移动应该更好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72631449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档