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