逐步从ES5迁移到TS

Abd*_*man 6 javascript ecmascript-5 typescript ts-loader babel-loader

我正在运行一个庞大的项目,其中有数千个.js文件是用 编写的es5,出于多种原因和好处TS,我们决定开始迁移到TS,经过几天的研究和许多研究,我将详细阐述一个几点:

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

第一种方式:

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

2-由于我们想要逐渐迁移,所以我们不想立即将全局脚本替换为本机模块,换句话说,我们不想立即键入importand export,而是希望保留旧的方式global scripts并使用/// <reference path="">to加载依赖项

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

第二种方式:

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

2-在时尚中重写脚本后UMD,我们可以逐渐开始将脚本移动到ESM

最后但并非最不重要的一点是,关于情报,我们将开始.d.ts相应地编写文件,或者我们可以依靠它ts-loader来生成文件

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

任何有关开始迁移的最佳方式的想法都值得赞赏

Abd*_*man 0

我很欣赏所有的答案,但对于我的情况来说,它是如此复杂scope,因为 ts 模块会影响 ,我发现有用的是使用所谓的shimmer modulesinwebpack其中允许一个名为的功能imports-loader,我可以使用它来操纵 js 的范围,因此没有什么是损坏,然后我可以逐个文件移动以开始迁移