Node.js學習(四) - express
為了更好的撰寫api,我使用看看express,應該還算滿好處理的
首先是要裝express
指令大概為
npm init
npm install express --save
npm install express
就可以安裝完成
接著是撰寫基本程式的部分
var express = require('express');
var port = 8088;
var app = express();
var server = app.listen(port, function () {
var host = server.address().address
var port = server.address().port
console.log('Node.js web server at port '+port+' is running..');
});
app.get('/api/Help', function (req, res) {
var objControllers = require('./controllers/Help');
objControllers.callback(req, res);
});
app.post('/api/Test', function (req, res) {
var objControllers = require('./controllers/Test');
objControllers.callback(req, res);
});
我在app.js下再建立controllers資料夾,再建立Help.js及Test.js分別處理Help 的請求與Test的請求
get,是只接收Request為GET的指令,post,則是只接收Request為POST的指令
這樣很簡單的切出了MVC的C出來。
至於Model及View應該是可以建立兩個資料夾為models及views,在controller裡程式檔案如果需要用到時,
就使用require('../models/xxxx')或require('../views/xxxx')應該就可以做出MVC了。
我的Help.js程式如下
exports.req = null;
exports.res = null;
exports.callback = function callback(req, res){
exports.req = req;
exports.res = res;
var url = req.url;
var html = 'Not Found';
var StatusCode = 200;
switch(url){
case '/Help':
this.index();
break;
default:
this.reponse_html(html);
break;
}
}
exports.index = function(){
html = '<div><h3>說明文件</h3></div>';
this.reponse_html(html);
}
exports.reponse_html = function(html){
var ContentType = 'text/html';
var StatusCode = 200;
this.res.writeHead(StatusCode,{'Content-Type':ContentType});
this.res.write('<html><body>'+html+'</body></html>');
this.res.end();
}
其它的程式,可自行隨便撰寫