Nodejs:改造路由

login.html

<html>
	<head></head>
	<body>
		登录页面
		<img src="./showimg" />
	</body>
</html>

optfile.js

//-------------optfile.js-------------------------
var fs = require('fs');
module.exports = {
	readfile: function (path, recall) { //异步执行
		fs.readFile(path, function (err, data) {
			if (err) {
				console.log("异步执行error:" + err);
				recall("文件不存在,异步执行error:" + err);
			} else {
				//console.log(data.toString());
				recall(data);
			}
		});
		console.log("===异步方法执行完毕===");
	},
	readImg: function (path, res) {
		fs.readFile(path, 'binary', function (err, filedata) {
			if (err) {
				console.log(err);
				return;
			} else {
				console.log("输出文件");
				res.write(filedata, 'binary');
				res.end();
			}
		});
	}
}

router.js

var optfile = require('../model/optfile2.js');


function getRecall(req, res) {
	res.writeHead(200, {
		'Content-Type': 'text/html;  charset=utf-8'
	});

	function recall(data) {
		res.write(data);
		res.end(''); //不写则没有http协议尾
	}
	return recall;
}

module.exports = {
	login: function (req, res) {
		recall = getRecall(req, res);
		optfile.readfile('./view/login.html', recall);
	},
	showimg: function (req, res) {
		res.writeHead(200, {
			'Content-Type': 'image/jpeg'
		});
		optfile.readImg("./view/pig.png", res);
	}
}
//---------n8_routhtml.js-------路由改造-----------------
var http = require('http');
var url = require('url');
var router = require('./model/router');
http.createServer(function (request, response) {
	if (request.url !== "/favicon.ico") { //清除第2此访问      
		pathname = url.parse(request.url).pathname;
		pathname = pathname.replace(/\//, ''); //替换掉前面的/
		console.log(pathname);
		if(pathname){
			console.log("2");
			router[pathname](request, response);
		}else{
			response.end("");
		}
	}
}).listen(8000);
console.log('Server    running    at    http://127.0.0.1:8000/');

猜你喜欢

转载自blog.csdn.net/u013101178/article/details/84502805