node基础09:第2个node web服务器

时间:2023-03-08 20:17:20
node基础09:第2个node web服务器

1.同时输出文字与图片

在前几个小课程中,我会学会了

  1. 从服务器中读取文字字符,并且向浏览器中输出
  2. 从服务器中读取图片文件,并且向浏览器中输出

这节课中,我学会了同时向浏览器输出文字,图片。对此,我感到欣喜若狂。你无法想象对我来讲,在没有任何node的环境下,摸索这些有多么困难,因为我身处一个小公司,实在不能再小了,只有我一个前端。不多说废话了,反正今天时非常值得纪念的一天。

代码如下:

//server.js
var http = require('http');
var url = require('url');
var router = require('./router'); http.createServer(function(req, res){
if (req.url!=='/favicon.ico') {
pathname=url.parse(req.url).pathname.replace(/\//,'');
console.log(pathname);
router[pathname](req,res);//暂时确保url带有pathname,否则会报错
}
}).listen(3000);
console.log(' server running at http://127.0.0.1:3000')
// router.js
var fs = require('fs');
module.exports = {
login:function(req, res){
res.writeHead(200, {'Content-Type':'text/html;charset=utf-8'});
fs.readFile('./login.html',function(err, data){
if (err) {
console.log(err);
return;
} else{
console.log("开始读取login.html");
res.write(data);
res.end();//写在互调函数外面会报错的哟
}
})
},
register:function(req, res){
res.writeHead(200, {'Content-Type':'text/html;charset=utf-8'});
fs.readFile('./register.html',function(err, data){
if (err) {
console.log(err);
return;
} else{
console.log("开始读取login.html");
res.write(data);
res.end();//写在互调函数外面会报错的哟
}
})
},
showImage:function(req, res){
res.writeHead(200, {'Content-Type':'image/jpeg'});
fs.readFile('./test.png',function(err, data){
if (err) {
console.log(err);
return;
} else{
console.log("开始读取图片");
res.write(data);
res.end();//写在互调函数外面会报错的哟
}
})
}
}