2016-12-02 57 views
0

我目前有一个大型的JavaScript应用程序,其中有很多用vanilla Javascript编写的代码,用于我工作的特定平台。Angular2应用程序中的一半在Typescript和Javascript中

我需要将其转换为我可以在浏览器中打开的Web应用程序。通过将组件从我当前的应用程序中更换为另一种Web技术的组件,这应该可以相对容易地完成。

但是由于Angular2是用TypeScript编写的,如果我选择它作为我使用的框架,我是否应该将其余的非组件JavaScript重写为TypeScript,或者我不需要这样做。

有一个应用程序是一半TypeScript和一半这样的JavaScript是不是一个好主意?

+4

Typescript是JavaScript的超集,因此js代码也是ts代码。你可以开始在你的ts代码中使用你的js代码。如果你愿意,你可以逐渐改变。您需要做的第一件事就是将js代码中的所有内容都视为“any”,然后您就可以开始编写[声明文件](https://www.typescriptlang.org/docs/handbook/declaration-files/ introduction.html),它可以让你从ts编译器类型系统中受益,即使没有编写js代码。 –

+0

TypeScript文件使用“导入”和“导出”来要求其他模块。我将在JavaScript文件中使用什么将它导出到TypeScript文件中? – user2802557

+1

'import'和'export'是用于模块的,它也可以在javascript中使用(取决于模块系统)。编译器会根据您选择的模块系统将其转换为相关的导入/导出代码。您可以导入常规js文件并添加对定义文件的引用。 [Module Resolution](https://www.typescriptlang.org/docs/handbook/module-resolution.html)和[Triple-Slash Directives](https://www.typescriptlang.org/docs/handbook/)中的更多信息三斜杠directives.html)。 –

回答

1

将TypeScript和JavaScript混合使用并不是一个坏主意。我每天都这样做。但是你现在必须承认在某些情况下可能会非常痛苦。所以我只能建议尽快向TypeScript强制迁移。

我建议你阅读从JavaScript此介绍给迁移到打字稿:https://www.typescriptlang.org/docs/handbook/migrating-from-javascript.html

这也可能是一个宝贵的资源:https://basarat.gitbooks.io/typescript/content/docs/types/migrating.html但我有,作者对如何工作的一个非常狭窄的观点印象打字稿就是不要把所有东西都放在那里,而只是一个建议。

从JavaScript到TypeScript的迁移还有很多其他资源。

对于TypeScript的最后一个月的迁移,我可以说,在很多情况下,您可以简单地将JavaScript更改为TypeScript文件并添加导出。比你需要在其他地方添加所需的导入,一切都像以前一样工作。

如果您可以确保您只使用TypeScript中的旧JavaScript而不是其他方式,则可以将项目拆分为包。像以前一样将JavaScript加载到全局中,并为您在TypeScript中使用的JavaScript部分创建类型。

相关问题