網站編譯總覽

構成網站「頁面」的描述資料檔案會在編譯時合併,以避免通常在程式實際執行時所需的伺服器要求。如此,可以有效地將每頁檢視呈現成本變為單次編譯階段成本。

效能因程式實際執行要求數目減少而獲得改善。這包括避免所有內容查詢,因為您可以將這些查詢的結果直接編譯到頁面中。

行為則因為頁面會立即呈現而獲得改善。因此,可以避免像「無樣式內容閃爍」或元件以不確定的順序在頁面上顯示 (例如頁尾先顯示,然後在頁面上的其他項目隨之呈現後下移) 之類的問題。

若要編譯 Oracle Content Management 網站內的頁面,您需要將網站匯出為樣板,然後使用 OCE 工具程式編譯該樣板,再將產生的靜態頁面上傳到原始網站。下列為可引導您進行樣板編譯,以及如何使用此模型編譯網站的步驟。

與預先呈現互動

預先呈現的重點在於傳回適合搜尋引擎的結果。預先呈現所產生的頁面不會如原始頁面般執行,且不會執行任何 JavaScript。它只會傳回瀏覽器預先呈現的 HTML,以支援 SEO 文字搜尋。

透過網站編譯建立的靜態頁面預期會在瀏覽器中執行,並與原始動態網站頁面的行為完全一樣。這包含動態執行未編譯的元件以及執行程式實際執行查詢,其中使用者想要在結果中取得完全最新的資料,而不是在編譯時修正資料。

租用戶管理員啟用預先呈現解決方案時,靜態頁面也可透過預先呈現伺服器傳遞。這讓索引子和蒐集程式可處理靜態頁面中可能仍動態呈現的部分,例如內容清單。

內容查詢會傳回包含 RTF 欄位值的內容項目,因此當內容版面配置用於內容清單時,您無需個別擷取值。

呈現控制器網站頁面

cec compile-template 命令無需透過 Oracle Content Management 網站頁面控制器,即可讓網站頁面直接呈現在瀏覽器中。

Oracle Content Management 網站並非使用編譯器建立靜態 HTML 頁面,而是使用控制器模型呈現頁面。在頁面實際顯示於瀏覽器之前,這涉及數個取得網站資訊、網站內頁面,以及用於呈現頁面之樣板的要求。

註:

當中還有其他要求,像是取得 controller.js 檔案。

呈現編譯的網站頁面

cec compile-template 命令可讓您將這些步驟全都編譯為靜態 HTML 檔案,藉由減少或免除這些伺服器要求,改進程式實際執行網站的效能。此外,您可以進一步減少無需在程式實際執行時進行變更之資源的要求,並將其編譯為靜態頁面。

預設編譯處理作業會執行現有程式實際執行控制器的工作,為網站中的每個 page.json 檔案建立一個實體 HTML 頁面。然後可以將這些頁面部署至網站,將會與網站一起發布,並且在點擊對應的頁面 URL 時使用。