我經常閱讀有關服務器端渲染的內容,這是Angular2的一個很棒的新功能,它可以讓webapps被Google,Bing等抓取。angular2服務器端渲染:動態內容
但是,如何在應用程序啓動時動態加載的內容工作?爬蟲在索引頁面之前是否會等待這些未決請求?或者是否必須指定我的Angular2應用程序的某個狀態,它告訴服務器我的應用程序已準備好發送給客戶端(在這種情況下是抓取工具)?
我經常閱讀有關服務器端渲染的內容,這是Angular2的一個很棒的新功能,它可以讓webapps被Google,Bing等抓取。angular2服務器端渲染:動態內容
但是,如何在應用程序啓動時動態加載的內容工作?爬蟲在索引頁面之前是否會等待這些未決請求?或者是否必須指定我的Angular2應用程序的某個狀態,它告訴服務器我的應用程序已準備好發送給客戶端(在這種情況下是抓取工具)?
我終於找到了在註釋中getting started code內的解決方案:返回所呈現的網站之前
[...]
// if true, server will wait for all async to resolve before returning response
async: true,
[...]
當設置該標誌爲真,服務器會等待所有異步調用(如HTTP調用)。
想法很簡單。所有初始化,包括數據加載,在服務器端執行,當nodejs執行Angular應用程序時。客戶端將獲得具有初始化數據的HTML。對於爬蟲可以從服務器請求的任何URL,角色應用將被初始化,路由,然後根據應用狀態呈現html並返回給客戶端。
你是怎麼用angular2應用程序運行的? –
嗨@Finkes你能提供更多的見解嗎? – Rakeschand