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();//写在互调函数外面会报错的哟
            }
        })
    }
}
原文地址:https://www.cnblogs.com/noper/p/6248441.html