3

嗨我正在使用Sails和Angular創建單頁應用程序。我發現下面的例子航行應用最佳實踐

https://github.com/mikedevita/sailsjs-v10-angularjs-requirejs-boilerplate

https://github.com/levid/angular-sails-socketio-mongo-demo

https://github.com/chiefy/sails-angular-yeoman-logindemo

是它做的最好方法是什麼?如果我們將我們的Angular應用程序與我們的風帆REST API完全分開,該怎麼辦?並使用不同的端口運行它們。當有人敲我們的服務器時,我們將使用Ngnix將它們重定向到我們的Angular應用程序,而Angular會敲我們的REST API Sails服務器。

哪一個會更好?

回答

4

我還沒有測試過這個項目。這是說,它看起來相當不錯,如果一切正常。需要警告的是,風帆0.10仍然不是一個發佈(目前它們在rc3),所以你不應該在生產中使用它。

我試過分開角度和帆到不同的服務器之前。事實證明這是一個可怕的混亂,並且非常痛苦。問題包括

  • 具有白名單帆域XHR請求
  • 某種方式產生CSRF令牌進行形式源驗證
  • 不能夠注入與任何服務器端模板(的角視圖中的至少不與模板動力通過帆)

即使你設置帆和角度用手工(如在https://github.com/chiefy/sails-angular-yeoman-logindemo的README.md)解釋說,這將是小於使用兩個開箱即用解決方案的鬥爭。 實踐中,您應該使用類似forevercluster的內容來提高性能並避免停機時間(如果服務器崩潰,請重新啓動服務器)。

希望這會有所幫助。

編輯: 帆v0.10已經發布

+1

我不知道穩定的帆。js是,但似乎並不像生產中的v1版軟件對於人們來說是一個問題。例如,node.js是v0.10 - 有多少人在prod中運行? –

+0

由於版本1.xx僅意味着它是第一次以最新發布的代碼庫以不向後兼容的方式進行更改(請參見語義版本控制http://semver.org/)。我覺得使用0.xx軟件非常舒服,如節點和生產中的風帆,只要它有足夠的單元測試或其他承諾相當穩定。如果你爲美國國家航空航天局或波音工作,你可能會更關心嘗試和破壞的軟件。 – danba

3

如果你使用同一臺服務器兩個(套接字和服務器)的選項去,你嘗試過角帆綁定? (https://github.com/diegopamio/angular-sails-bind)我打賭你沒有,因爲我剛剛在幾分鐘前向世界發佈了:)。我爲自己的項目製作了它,然後決定把它作爲一個獨立的圖書館,這樣每個人都可以受益,並且我可以有我的第一個經驗開發涼亭包。

我希望它能幫助你。到目前爲止,它使用相同的基本URL,但我可以很容易地將其配置。

順便說一句:它適用於風帆0.10(因爲有些事情,如主題名稱已經改變了0.9)。如果你需要使用0.9版本,請告訴我,我很樂意提供幫助。

0

保持分離架構爲您提供更多的部署靈活性(即移動設備ala cordova)。緊耦合架構也有其優點,但是一個共同的缺點是承諾使用移動範例的服務器端會話。希望這可以幫助!