在我的工作中,我们有一个用ES5编写的大型AngularJS应用程序,计划很快迁移。在迁移到任何其他JS框架(Angular 2+或React)之前,我想将较小的步骤迁移到ES2015。 但是,由于它是一款生产大型应用,如果我们可以逐步处理这种迁移会更容易。
我知道有很多关于AngularJS和ES2015的教程,但我找不到任何解决混合ES5和ES2015文件的情况。
此外,当前的ES5应用程序使用延迟加载的路由和ocLazyload + ui-router,我不知道这将如何与SystemJS或Webpack等ES2015模块加载器一起使用。
任何人都知道如何处理这种特殊情况?
提前致谢。
答案 0 :(得分:1)
ES2015只是纯JavaScript,具有更丰富的API和大量的语法糖。例如,在ES6中使用class
时,这不是该语言中的新数据结构。这只是隐藏JavaScript原型性质的语法糖。在幕后,它仍然是一种功能。
所以你开发一个应用程序,你当然可以混合使用ES5和ES6。如果您使用Babel或Traceur编译代码,则应该有一个有效的输出,因为ES5是有效的JavaScript。
如您所知,Angular 2使用TypeScript。但TypeScript与CoffeeScript不同。这不是编译为JavaScript的另一种语言。微软将其定义为JavaScript的超集。实际上,如果您使用最小的ES5代码并尝试使用tsc
进行编译,它将起作用。
所以是的,你应该能够逐步进行迁移。 :)