博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
node根据路由显示不同html文字及图片混合模板内容
阅读量:2066 次
发布时间:2019-04-29

本文共 1378 字,大约阅读时间需要 4 分钟。

readfile.js文件操作代码:

var fs=require('fs');
module.exports={
    readfileAsync:function(path,recall){
        fs.readFile(path,function(err,data){
            if(err){
                console.log(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{
                res.write(filedata,'binary');
                res.end();
            }
        });
    }
}

router.js路由代码:
var readfile=require('./readfile');

function getRecall(req,res){

    res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});
    function recall(data){//创建一个闭包回调函数
        res.write(data);
        res.end('ok');//操作完异步读取后,执行函数再关闭主程序
    }
    return recall;
}

module.exports={

    login:function(req,res){
        recall=getRecall(req,res);
        readfile.readfileAsync('./login.html',recall);//异步读取文件
    },
    register:function(req,res){
        recall=getRecall(req,res);
        readfile.readfileAsync('./register.html',recall);//异步读取文件
    },
    showimg:function(req,res){
        res.writeHead(200,{'Content-Type':'image/jpeg'});
        readfile.readImg('./2.jpg',res);
    }
}

routeMain.js注册时入口代码:
var http = require('http');
var url=require('url');
var router=require('./router');//调用只有一个函数的js文件

http.createServer(function (request,response){

    if(request.url!="/favicon.ico"){ //清楚第二次访问

        var pathname=url.parse(request.url).pathname;
        pathname=pathname.replace(/\//,'');//正则去掉前面的斜杠
        router[pathname](request,response);

    }

}).listen(8001);

转载地址:http://lzkmf.baihongyu.com/

你可能感兴趣的文章
PAT1090 Highest Price in Supply Chain 树DFS
查看>>
(PAT 1096) Consecutive Factors (质因子分解)
查看>>
(PAT 1019) General Palindromic Number (进制转换)
查看>>
(PAT 1073) Scientific Notation (字符串模拟题)
查看>>
(PAT 1080) Graduate Admission (排序)
查看>>
Play on Words UVA - 10129 (欧拉路径)
查看>>
mininet+floodlight搭建sdn环境并创建简答topo
查看>>
【UML】《Theach yourself uml in 24hours》——hour2&hour3
查看>>
【linux】nohup和&的作用
查看>>
【UML】《Theach yourself uml in 24hours》——hour4
查看>>
Set、WeakSet、Map以及WeakMap结构基本知识点
查看>>
【NLP学习笔记】(一)Gensim基本使用方法
查看>>
【NLP学习笔记】(二)gensim使用之Topics and Transformations
查看>>
【深度学习】LSTM的架构及公式
查看>>
【深度学习】GRU的结构图及公式
查看>>
【python】re模块常用方法
查看>>
剑指offer 19.二叉树的镜像
查看>>
剑指offer 20.顺时针打印矩阵
查看>>
剑指offer 21.包含min函数的栈
查看>>
剑指offer 23.从上往下打印二叉树
查看>>