2016-02-16 110 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