【问题标题】:can we add es6 classes to an existing angular 1.x ROR app?我们可以将 es6 类添加到现有的 Angular 1.x ROR 应用程序吗?
【发布时间】:2016-07-19 23:34:48
【问题描述】:

我有一个使用 Angular 1.4.9 的现有 RoR 应用程序。我想玩转 ES-6 功能,我想在 ES6 中使用 Class 构建新功能。 是否可以使用定义可以在现有角度应用程序中使用的新类,反之亦然。我知道您可以使用转译器(如 babel)并将 js 添加到 rails 资产管道。我的问题是关于如何在 es6 类和现有 Angular 应用代码之间导出/导入模块。

【问题讨论】:

    标签: javascript ruby-on-rails angularjs babeljs


    【解决方案1】:

    一种方法是将纯 ES6 类/模块放在单独的文件中,例如。

    class UserService {
    
        // all your beautiful ES6 class stuff goes here ...
    }
    export {UserService};
    

    并在一个单独的文件中导入这些并将它们插入 angular 1.*

    import 'angular';
    import {UserService} from './user-service';
    
    angular.module('myApp', [])
        .service('userService', UserService);
    

    这有助于将基于 ES6 的新业务逻辑与 Angular 1.* 代码分开,这有助于轻松升级到 Angular 2.*

    下一步是设置一个构建过程,它不仅可以处理 ES6 的转译,还可以处理 ES6 模块的导入/导出。我们发现 jspm (http://jspm.io/) 是一个不错的选择。这里有此方法的入门指南http://legacytotheedge.blogspot.co.nz/2015/01/using-es6-with-your-angularjs-project.html

    【讨论】:

      猜你喜欢
      • 2019-02-25
      • 2011-02-11
      • 1970-01-01
      • 2021-10-20
      • 2019-02-08
      • 2020-06-09
      • 2016-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多