Node.js學習(四) - express

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();	
}

其它的程式,可自行隨便撰寫