(七)综合利用HTTP模块URL模块FS模块做到读写分离

利用fs文件系统做到的数据与页面分离

  • 第一步加载HTTP模块
  • 第二部加载URL模块
  • 第三步加载fs模块
  • 第四部利用获取到的不同的路径,读取不一样的文件
具体键代码
var http = require('http'); //加载模块
var url = require('url');  //加载URL模块
var fs = require('fs');  //加载文件模块
var server = http.createServer();//创建SERVER对象
var htmldir = __dirname+'/html/';  //获取到跳转的路径
console.log(htmldir);
server.listen(8080,'localhost');
server.on('request',function(rep,res){
    var urlobj = url.parse(rep.url);  //地址
    switch(urlobj.path)
    {
        case "/":
            ReadOnly(htmldir+"index.html",res);
             break;
        case "/user":
            ReadOnly(htmldir+"user.html",res);
            break;
        case "/login":
            ReadOnly(htmldir+"login.html",res);
            break;
        default :
            ReadOnly(htmldir+"404.html",res);
            break;
    }
})
//创建一个读取函数
function ReadOnly(path,res)
{
    fs.readFile(path,function(err,data){
        if(err)
        {
            res.writeHead(404,{'content-type':'text/html;charset=utf-8'});
            res.write('<h1>这个页面找不到</h1>');
            res.end();
        } else
        {
            res.writeHead(200,{'content-type':'text/html;charset=utf-8'});
            res.write(data);
            res.end();
        }
    })
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,837评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,861评论 25 708
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,497评论 0 17
  • 多年来,我心底一直有个问题:被人利用到底是不是好事儿? 可能乍一听,正常人的反应都是:当然不是好事儿。 我也一样,...
    RecZ阅读 1,179评论 0 1
  • I like strawberry ice-cream 需要材料:新鲜草莓 500g 砂糖 150g ...
    緋徜认眞阅读 194评论 0 1