有時,當我創建基本的Web工具時,我將從nodeJS後端開始,通常使用ExpressJS創建API服務器。當某些路由被擊中時,服務器通過使用連接的實時狀態呈現來自EJS的HTML來作出響應,然後將其發送到瀏覽器。連接到API的WebApp與後端呈現之間的區別
這個應用程序通常會爲公共靜態資源公開一個目錄,並將提供這些目錄。我想這會給這種形式的網絡應用帶來很多開銷,但我不確定。
其他時候我會用API開始(這可能是完全一樣的NodeJS結構,沒有HTML的渲染,只是狀態管理和API曝光),我將建立一個Angular2或其他HTML網頁,將連接到API,加載有關加載的信息,並在頁面中填充數據。
這些頁面傾向於依賴大量的AJAX調用和jQuery,以便在觸發一堆異步回調之後刷新角度組件。在這個結構中,我將使用像Apache這樣的Web服務器來服務所有文件並定義路由,而網頁中的JS將完成剩下的工作。
兩者的整體優缺點是什麼?爲什麼我應該使用一種策略而不是另一種?它們是否都是可行的並且依賴於規模和使用?我想用負載平衡器進行水平縮放可以適用於這兩種情況。
」最後一點 - 您應該始終在服務器上進行重要的驗證,不要依賴來自客戶端的數據。「是非常有價值的,值得強調。你的答案是徹底的。在接受您的答案之前,我會等待任何額外的輸入。 – Neurax