我有一個現有的應用程序,包括兩個php生成的初始頁面(普通用戶頁面 - index.php和管理頁面admin.php)。用戶頁面會生成一些非常大的桌面,在桌面上很好,但在移動設備上將無法使用。管理頁面實際上只是通過ajax加載的一組子頁面的框架(再次使用php生成)。管理頁面(尤其是用戶頁面不那麼)由支持動態操作用戶界面的大型JavaScript應用程序支持。這必須如此之大以至於很難管理。理想情況下,它應該分解成更小的塊。我如何使用node.js成爲一個動態內容web服務器
此外,幕後交易發生在sqlite數據庫上,因爲javascript使用ajax發送post請求,服務器用json迴應。這些響應由php提供。
爲了增加這個組合,我剛將應用程序從Apache(帶有嵌入式php)移到了不再嵌入php的Nginx中。
爲了支持移動設備上的應用程序,我計劃使用angularjs將應用程序重新開發爲一個單頁面應用程序,並使用更小的單獨頁面。由於這更適用於mvc風格的應用程序,因此它將幫助我將unweildy javascript重組爲更好的組織環境。
當我學習angularjs時,越來越多地發現自己處於nodejs和javascript的世界中作爲流程管理工具。特別是測試 - 包括量角器 - 其中npm模塊http-server用於爲應用程序的客戶端提供測試Web服務器。
由於angularjs本身管理更多的應用程序的視圖元素,我將不再需要PHP來實現這一點。這個應用程序需要的唯一東西就是模型的軟件,並且需要ajax請求,查詢或更新數據庫並返回json響應。而不是使用PHP,在我看來,我也可以使用Javascript運行服務器端來實現這一點。
這裏有細微的差別,需要清楚。有一些JavaScript文件需要像服務器上的靜態資產一樣運行,並且只是像客戶端一樣提供服務。在部署中,Nginx可以實現這一點。但是,我會有服務器應用程序的JavaScript文件。 Nginx可以通過url識別這些內容,而不是將它們傳遞給一個php處理器,就像在一個高編號的端口上監聽本地主機上的node.js應用程序一樣,它可以像代理前端一樣輕鬆地進行操作。因爲這些服務器端JavaScript小程序每個都與數據庫交談,我認爲(我還沒有檢查細節,但粗略的外觀意味着如此),他們不能立即響應http請求,而是需要在回調函數被調用說數據庫請求成功後觸發一個響應。
簡要介紹一下expressjs以及如何爲它提供內容,似乎需要使用它所使用的任何回調函數的即時響應。它也可能是我所需要的重量級。
有人可以給我一些建議,如何最好地設計這種解決方案。什麼是使用
StackOverflow並沒有真正提供建議,尤其是在這個問題上沒有這麼廣泛。你需要提出一個特定的編程問題。就目前而言,您的問題過於寬泛 – Bojangles
移動環境中沒有node.js。 – Vinz243
@ Vinz243:這個節點的一部分將在他的服務器上。 –