我有一个现有的 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/