Node安裝
由于后端服務(wù)通常部署在linux服務(wù)器上,因此簡單說下linux環(huán)境下node的安裝。 可以選擇去官網(wǎng)下載編譯好的二進(jìn)制文件,軟鏈接到環(huán)境目錄下。也可以使用apt工具直接安裝
sudo apt-get install node
Express框架
express是一個功能十分強(qiáng)大的框架,可以同時兼顧前后端開發(fā)。但由于這次只是想用express實現(xiàn)后端服務(wù),因此不需要express提供的前端開發(fā)模板相關(guān)功能。所以只是在項目中引入了express模塊
npm install express
之后就可以在項目中通過require的方式使用express模塊
Express的使用
首先需要在需要的文件中引入express模塊
var express = require('epxress');
var app = express();
之后需要創(chuàng)建一個http服務(wù)器,但是由于我的網(wǎng)站而言,需要提供https服務(wù),因此創(chuàng)建了一個https服務(wù)器
var httpsServer = https.createServer(options, app);
httpsServer.listen(parseInt(config.port),function(){
console.log("Https server is running on: https://localhost:"+config.port);
});
創(chuàng)建https服務(wù)器時需要一個額外參數(shù)option,用來指定服務(wù)器所需證書的路徑,只有證書有效,才能創(chuàng)建https服務(wù)。
至于端口號,可以自行指定,由于網(wǎng)站前端運行在默認(rèn)443端口,因此選擇不沖突的端口即可。
創(chuàng)建好服務(wù)器之后,我們就可以用app實例去監(jiān)聽對應(yīng)的請求。
express框架為我們實現(xiàn)了路由功能,因此可以很方便的通過路徑來區(qū)分各種請求。
app.get('/api/activities',newsApi.getActivities);
app.get('/api/activityCards',newsApi.getActivityCards);
app.post('/api/reviewCards',newsApi.getReviewCards);
function getActivities(req, res){
...
...
res.send('...')
}
通過調(diào)用app的get和post方法,我們可以處理get和post請求,第一個參數(shù)即為路由的路徑,第二個參數(shù)為一個函數(shù)閉包,用來處理對應(yīng)的請求。該閉包會接受兩個參數(shù)req和res,分別對應(yīng)請求體和返回的內(nèi)容