2017-04-15 66 views
0

在我的工作中,我們有一個用ES5編寫的大型AngularJS應用程序,計劃很快遷移。在遷移到任何其他JS框架(Angular 2+或React)之前,我想花一小步將當前應用程序遷移到ES2015。 但是,由於它是一個大型的應用程序,如果我們可以逐漸處理這種遷移,它會更容易。我可以有一個混合的es5/es2015 AngularJS應用程序嗎?

我知道有很多關於AngularJS與ES2015的教程,但是我沒有找到任何有關混合ES5和ES2015文件的情況。

此外,目前的ES5應用程序使用延遲加載的路由與ocLazyload + UI路由器,我不知道這將如何玩ES2015模塊裝載機,如SystemJS或Webpack。

任何人都知道如何處理這種特殊情況?

在此先感謝。

回答

1

ES2015只是一個純API,含有豐富的API和大量的語法糖。例如,當您在ES6中使用class時,這不是該語言中的新數據結構。這只是隱藏JavaScript的原型性質的語法糖。在幕後,它仍然是一個功能。

因此,你開發一個應用程序,你當然可以混合使用ES5和ES6。如果您使用BabelTraceur編譯代碼,則應該有有效的輸出,因爲ES5是有效的JavaScript。

如您所知,Angular 2使用TypeScript。但是TypeScript不像CoffeeScript。這不是編譯爲JavaScript的另一種語言。微軟將其定義爲JavaScript的超集。事實上,如果你使用最小的ES5代碼並嘗試使用tsc進行編譯,它將會起作用。

所以是的,你應該能夠逐漸完成移植。 :)

相關問題