将项目从JavaScript迁移到TypeScript中
在实际项目中,常常有一些历史代码是用 JavaScript 编写的,为了降低后期维护成本,需要逐步将其迁移到 TypeScript 中。迁移过程通常分为以下两步。
首先,将 JavaScript 添加到编译输出文件中。在 tsconfig.json
文件中开启 allowJs
编译选项,然后 JavaScript 文件也将参与编译过程,并输出到编译目录下。设置方式如下。
{
"compilerOptions": {
"allowJs": true,
/*需要指明输出目录,否则编译后的文件和源文件同名,无法输出文件*/
"outDir": "dist",
...
}
}
虽然 TypeScript 不会对 JavaScript 代码做类型检查,allowJs
编译选项将告知编译器将 JavaScript 文件中的所有声明都当作 any
类型而不做其他要求,但至少可以同时使用 TypeScript 和 JavaScript 代码进行开发,且 TypeScript 能直接使用 JavaScript 中的模块。
然后,一次改一个文件,逐个将各个 JavaScript 文件的扩展名更改为 .ts
,并修复编译错误。例如,将其中一个 JavaScript 文件的扩展名更改为 .ts
,编译器将检查出编译错误。此时,你就可以着手进行修复,直到整个文件修复完成,无编译错误产生,然后再更改下一个 JavaScript 文件。
在更改的过程中,你可以尝试在编译选项中打开严格模式(设置 "strict": true
),或根据需要开启或关闭某些类型检查的编译选项,按提示进行修改,使 TypeScript 代码变得更加完善。