• node基础总结(二)


    获取路由(访问路径)

    6_path.js代码:

    var http = require('http');
    var url = require('url');
    var router = require('./6_router.js');
    http.createServer(function  (request,  response)  {  
        response.writeHead(200,  {'Content-Type':  'text/html;  charset=utf-8'});  
        if(request.url!=="/favicon.ico"){  //清除第2此访问  
            var pathname = url.parse(request.url).pathname;
            console.log(pathname);
            pathname = pathname.replace(///, '');//替换掉前面的/
            console.log(pathname);
            router[pathname](request,response);
            response.end('');
        }  
    }).listen(8000);  
    console.log('Server running at http://localhost:8000');

    统计目录6_router.js代码:

    module.exports={
        login:function(req,res){
            res.write("我是login方法");
        },
        register:function(req,res){
            res.write("我是注册方法");
        },
        index:function(req,res){
            res.write("我是index方法");
        }
    }

    读写文件

    7_readFile.js代码:

    var http = require('http');
    var optfile = require('./7_optfile.js');
    http.createServer(function  (request,  response)  {  
        response.writeHead(200,  {'Content-Type':  'text/html;  charset=utf-8'});  
        if(request.url!=="/favicon.ico"){  //清除第2此访问  
            function closeResponse(res){
                res.write('<br/>');
                res.end('完毕!');
            }
            console.log('访问');
            response.write('文件操作:');
            //异步读取文件
            //optfile.readfile(response,"D:\text.txt",function(){closeResponse(response);});
            //同步读取文件
            //optfile.readfileSync(response,"D:\text.txt");
            //closeResponse(response);
            
            //异步写文件
            //optfile.writefile(response,"D:\text.txt","bbbbbbbbbbbbbb",function(){closeResponse(response);});
            //同步写文件
            //optfile.writeFileSync(response,"D:\text.txt","ccccccccccccccccccccccccc");
            //closeResponse(response);
        }  
    }).listen(8000);
    console.log('Server running at http://localhost:8000/');

    统计目录7_optfile.js代码:

    var  fs=  require('fs');
    module.exports={
        readfile:function(res,path,callBack){          //异步执行
            fs.readFile(path, function(err,data)  {
                if(err){
                  res.write(err);
                }else{
                  res.write(data.toString());
                }
                res.write("123");
                callBack();
            });
        console.log("异步方法执行完毕");
        },
        readfileSync:function(res,path){      //同步读取
            var data = fs.readFileSync(path,'utf-8');
            res.write(data.toString());
            console.log("同步方法执行完毕");
            return  data;
        },// appendFile 如果文件不存在,会自动创建新文件  
        // writeFile 会删除旧文件,直接写新文件  
        writefile:function(res,path,data,callBack){    //异步方式
            fs.writeFile(path,data,function  (err)  {
                if(err){
                    res.write(err);
                }else{
                    res.write("写入文件【"+data+"】成功!");
                }
                callBack();
            });
        },
        writeFileSync:function(res,path,data){  //同步方式
            fs.writeFileSync(path,data);
            res.write("写入文件【"+data+"】成功!");
        }
    }

    读取本地图片显示在浏览器上:

    8_readImage.js代码:

    var http = require('http'),
    fs = require('fs');
    http.createServer(function(req, res) {
        res.writeHead(200, {'Content-Type': 'image/jpeg'});
        fs.readFile('D:\download\Images\123touxiang.png','binary',function(err, file) {
            if (err) {
                res.write(err);
            }else{
                res.write(file,'binary');
            }
            res.end();
        });
    }).listen(8888);

    同步读取图片

    var http = require('http'),
    fs = require('fs');
    http.createServer(function(req, res) {
        res.writeHead(200, {'Content-Type': 'image/jpeg'});
        var file = fs.readFileSync('D:\download\Images\123touxiang.png','binary');
        res.write(file,'binary');
        res.end();
    }).listen(8888);
  • 相关阅读:
    Git
    canvas画布
    Node.js
    node的consoidate的插件统一
    使用nodejs去做一个验证码
    node的cookie-parser和express-session
    node的router路由。
    node的经典事件监听
    使用node去爬虫
    node的读写流
  • 原文地址:https://www.cnblogs.com/zhj-Acmen/p/8033127.html
Copyright © 2020-2023  润新知