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

时间:2016-07-19 23:34:48

标签: javascript ruby-on-rails angularjs babeljs

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

1 个答案:

答案 0 :(得分:0)

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

class UserService {

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

在单独的文件中导入这些并将它们插入角度1。*

import 'angular';
import {UserService} from './user-service';

angular.module('myApp', [])
    .service('userService', UserService);

这有助于保持基于ES6的新业务逻辑与角度1. *代码分开,这有助于简化升级到角度2。*

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