javascript - 我们可以将 es6 类添加到现有的 Angular 1.x ROR 应用程序中吗?

标签 javascript ruby-on-rails angularjs babeljs

我有一个现有的 RoR 应用程序,它使用 Angular 1.4.9。我想尝试一下 ES-6 的功能,我想使用 ES6 中的 Class 来构建新功能。 是否可以使用定义可在现有 Angular 应用程序内部使用的新类,反之亦然。我知道你可以使用转译器(如 babel)并将 js 添加到 Rails Assets 管道中。我的问题是如何在 es6 类和现有的 Angular 应用程序代码之间导出/导入模块。

最佳答案

一种方法是将纯 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

关于javascript - 我们可以将 es6 类添加到现有的 Angular 1.x ROR 应用程序中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38470173/

相关文章:

javascript - 在 Dynamics 365 门户网站中记录客户端错误的任何选项?

javascript - 将弹出框放在 noUiSlider handle 上

javascript - $.ajax 中的附加参数错误

javascript - 理解 TypeScript/Angular JS 中的定义顺序

javascript - 在 Angular 中使用 $q 实现,如何循环 promise 直到成功?

javascript - 如何卡住javascript中的嵌套对象?

ruby-on-rails - Ruby on Rails : set specific serializer for polymorphic association

ruby-on-rails - Elasticsearch-rails正在搜索错误的索引

ruby-on-rails - Rails 3 默认范围,覆盖范围

angularjs - Angular 拖放 beforeDrop 回调