2016-02-16 74 views
2

我目前正在学习Angular2,并通过了快速入门和英雄教程。我总是用“npm start”启动这些应用程序。在Rails中部署Angular2演示程序还是作为独立应用程序?

我已经在rails上创建了ruby中的后端应用程序,并且还有一个前端angular2应用程序。我不知道如何将angular2应用程序集成到Rails应用程序中。理论上,我可以把它放到public /目录中以使JS可以访问,但我可能需要将它转换为某种方式,以便链接设置正确。

任何人都可以告诉我这是如何正常完成的吗?

非常感谢

回答

4

您可以通过两种方式做到这一点,我可以看到

1 - 添加角项目文件夹app/assets/javascripts或根在你的应用程序,并设置护栏资产管道使用它。在这里阅读更多内容(对于angular1)https://thinkster.io/angular-rails

2 - 作为单独的项目运行并仅将rails用作API。 (这是我的首选方法),原因如下。

  • 这会给你的rails应用程序和角度应用程序之间的分离。基本上你不得不以标准的API方式实现事物,比如认证等,因此超时你将会拥有更坚实的rails api和角度前端

  • 一旦你有了分离,你可以在不同的应用服务器上运行这两个if你希望。提供更好的负载平衡等。

  • 您以后可以随时用不同的技术替换前端和后端,如琥珀色和节点,因为它们只通过http api进行通信。

所以这个选项,则需要更多的时间和精力,但是,如果有可能的挑衅值得:)

+0

你是正确的那当然是更好地把它作为一个单独的项目。然而,因为这是一个微型应用程序,我想集成 - 但尽可能分离。我认为有可能将它复制到项目中并创建指向它的轨道路线,但我认为需要多一点。 – chbla

+0

@chbla,实际上IMO的语法已从angular1更改为2.从轨道方面,只要你可以编译它的资产,它应该以angular1运行。我相信你应该可以使用'grunt'或一些运行的任务来将ES6中的js编译成ES5。我会说,在rails应用程序的根目录中尝试一个angular2项目并设置'grunt'来编译它并添加到rails资源:) – sameera207