簡體   English   中英

使用Node.js將RESTful服務與主網站體系結構分離

[英]Separating RESTful services from main web site architecture using Node.js

我正在開始一個新項目,我希望對我的服務器架構的想法有所了解。 這是設置:

  1. 許多設備(手機,平板電腦)上都有一個客戶端應用程序。 這些都需要與服務器建立RESTful連接以獲取數據。 此服務器已存在,並且正在運行Node.js和Express以提供JSON服務。

  2. 我需要建立一個客戶網站,需要訪問與其他客戶端設備相同的數據。 用戶將登錄此網站,與他們的帳戶進行交互等。此服務器可以運行Node.js,Apache或其他任何工作。

對我來說,保持RESTful服務器完全無狀態並真正只回答Web服務請求似乎是最有意義的。 這意味着我需要使用單獨的服務器(或無人機)來運行網站,並將此服務器視為RESTful服務器的另一個客戶端。

我是不是太復雜了? 僅從同一服務器提供JSON(用於設備)和HTML(用於瀏覽器)並將用戶會話狀態引入該服務器是否有意義?

開發客戶網站作為自己的東西,讓它像任何其他客戶端一樣使用REST API。

將它開發為快速應用程序並從主REST服務器中use它可能很方便。

網站/ index.js:

var app = require('express')();
app.get('/', function(req, res) { res.send('<h1>Website</h1>'); });
module.exports = app;

然后在主REST服務器中:

...
app.use(require('../website'));
app.listen(...);

這使您幾乎可以將網站視為不同的應用程序,但仍然可以從同一服務器托管它。 如果需要,以后可以很容易地將網站作為自己的服務器運行。

我為這種情況創建了一個單獨的項目。 供參考,請遵循此

https://github.com/rahpal/RestOnNode

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM