2016-12-07 255 views
1

我有一個Angular 1 web應用程序部署在其中所有視圖(html)都在客戶端。我在服務器端公開了我的Angular服務用來獲取JSON響應的REST API,然後將其填充到我的視圖中並呈現給UI。 現在我打算在服務器端渲染視圖。服務器端渲染HTML模板

我不能在客戶端更改我的技術堆棧,但我確實在服務器端有堆棧的自由。

博客建議使用REACT進行服務器端渲染,但我懷疑我們是否可以在REACT中使用服務器端渲染,而在Angular中使用客戶端。 我還有什麼其他的選擇?

請確認任何可能的選擇。在此先感謝

+0

您可以使用相同的html模板並使用'express js'使用'ejs'來渲染它們。將處理後的html傳輸到客戶端並初始化角度應用程序。所以,現在你已經第一次完全呈現視圖。然後在第一次加載你的應用程序後,角色的方式。 –

回答

0

如果您正在使用Angular2你可以像https://github.com/angular/universal

我可以在這裏看到,而且我與過去的隊友討論的方法同構的解決方案是「雙重」的航線上你API。然後,您應該有一條路線,在該路線中,您將呈現一個HTML模板(例如,玉)並將其發送給客戶端。然後,使用AngularJS,您可以像平常一樣操作dom,並且後續的路由更改可以由AngularJS路由器處理。

所以,「算法」應該是:

  1. 詢問URL
  2. API處理路線,並生成一個編譯視圖,並將其發送
  3. 現在AngularJS處理與它的路由器和路由DOM操作
  4. 對其他視圖的後續請求需要重複相同的過程。

希望它有幫助!