【问题标题】:Can I have a mixed es5 / es2015 AngularJS app?我可以有一个混合的 es5 / es2015 AngularJS 应用程序吗?
【发布时间】:2017-04-15 14:16:08
【问题描述】:

在我的工作中,我们有一个用 ES5 编写的大型 AngularJS 应用程序,计划很快迁移。在迁移到任何其他 JS 框架(Angular 2+ 或 React)之前,我想采取更小的步骤将当前应用程序迁移到 ES2015。 但是,由于它是一个生产大型应用程序,如果我们能够逐步处理此迁移会更容易。

我知道有很多关于 AngularJS 和 ES2015 的教程,但我没有找到任何解决混合 ES5 和 ES2015 文件的情况。

此外,当前的 ES5 应用程序使用带有 ocLazyload + ui-router 的延迟加载路由,我不确定这将如何与 SystemJS 或 Webpack 等 ES2015 模块加载器一起使用。

有谁知道如何处理这种特殊情况?

提前致谢。

【问题讨论】:

    标签: javascript angularjs ecmascript-6


    【解决方案1】:

    ES2015 只是纯 JavaScript,具有更丰富的 API 和大量语法糖。例如,当您在 ES6 中使用 class 时,这并不是该语言中的新数据结构。这只是隐藏 JavaScript 原型性质的语法糖。在幕后,它仍然是一个函数。

    所以当你开发一个应用程序时,你当然可以混合使用 ES5 和 ES6。如果你用BabelTraceur 编译你的代码,你应该有一个有效的输出,因为 ES5 是有效的 JavaScript。

    您可能知道,Angular 2 使用TypeScript。但是 TypeScript 不像 CoffeeScript。这不是另一种编译成 JavaScript 的语言。 Microsoft 将其定义为 JavaScript 的超集。事实上,如果你使用最小的 ES5 代码并尝试使用 tsc 编译它,它会起作用。

    所以是的,您应该能够逐步进行迁移。 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-14
      • 1970-01-01
      • 1970-01-01
      • 2021-12-10
      • 2019-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多