2016-12-02 29 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部分創建類型。

相關問題