Rails升级到angular度2

我想升级我现有的Rails和Angular 1.x应用程序。 我正在按照ng升级文档 ,看到有很多依赖包括systemjs , 打字稿 , tsd和一些其他的JavaScript库。 理想情况下,将有一个angular度2的gem,将有所有的依赖,但我无法find。 接下来,我查找每个依赖关系的gem,但没有一个tsd。

切换到自定义构build策略是否有意义,这样我可以使用npm进行JavaScript包pipe理? 我读这篇文章,build议大家,但我喜欢资产pipe道的便利。

任何人都可以指向成功使用rails项目ng-upgrade的例子吗? 它是否使用像gulp一样的定制构build解决scheme还是使用资产pipe道?

我的主要build议是没有升级到Angular2,仍然在开发中,你会遇到很多这样的问题,如没有find一个轨道的gem。

无论如何,目前,angular2 不能编译链轮 (默认导轨pipe道),所以你真的想要一个自定义的解决scheme。

我的主要build议是使用webpack,其他选项是browserify或gulp(和其他),这主要是一个品味的问题。 总的来说,为angular2configuration一个stream水线是非常复杂的 ,你必须通过types来处理.d.ts文件(这是tsd的更新版本,现在已经被弃用了),你必须通过tsc或者通过babel如果你想使用async / await(这真的很酷)。 你将失去像在image_path类的轨道引用文件的能力,使用自定义pipe道,所以你也要考虑到这一点。

Typescript比简单的coffeescript文件编译起来要复杂得多,你依赖于它引用的每一个其他文件,因为它需要编译检查它,不要期望一些简单的东西。

这就是说,如果你真的想要使用Rails和Angular(2或者不),处理它的正确方法是有两个单独的项目 ,一个只有Rails应用程序,另一个使用AngularJSpath。 通过这种方式,您可以单独关注,您可以在不影响Rails的情况下为Angular2创build自定义pipe道,并且您将被强制使用Rails作为JSON API来正确编写Angular2应用程序。

我的解决scheme是保持尽可能简单,而不使用webpack或资产pipe道。 我把publicts文件和configuration的rails通过pipe道服务npm资产。

我用这个结构搭build了一个启动项目,例如: https : //github.com/jonnysamps/rails-ng2-starter

在许多方面,它有单独的后端/前端项目的好处,但保持所有的代码在一起。

使用angularjsgem

 gem 'angularjs-rails', '~> 1.4', '>= 1.4.8' 

插入到application.js中

  //= require angular 

你可以使用http://bower.io/#install-bower ,你可以添加两个文件到你的rails应用程序.bowerrcbower.json ,就像GemFile