-node.js 文章的学习 0528

今天花了多少时间在编程的学习上: 5

今天完成的事情:

  1. 参考node.js的入门的文章, 搭建起了一个上传图片并把图片展示到网站上面的应用。
  2. 整理了自己的node.js的文章在马克飞象

明天计划的事情:

  1. node.js其他的应用, 去买本书回来看一下

遇到的问题:

  1. querystring库的作用究竟是什么
  2. formidable库的作用究竟是什么

收获:

整理出来了一些在创建一个服务器的过程中可能会用到的代码

写入内容

console.log("Request handler 'start' was called.");

    var body ='<html>'+
        '<head>'+
        '<meta http-equiv="Content-Type" content="text/html; '+
        'charset=UTF-8" />'+
        '</head>'+
        '<body>'+
        '<form action="/upload" enctype="multipart/form-data" '+
        'method="post">'+
        '<input type="file" name="upload" multiple="multiple">'+
        '<input type="submit" value="Upload file" />'+
        '</form>'+
        '</body>'+
        '</html>';

    response.writeHead(200,{"Content-type":"text/html"});
    response.write(body);
    response.end();

写入错误
response.writeHead(500,{"Content-Type":"text/plain"});
            response.write(error +"\n");
            response.end();

找不到
console.log("No request handler found for "+ pathname);
        response.writeHead(404,{"Content-Type":"text/html"});
        response.write("404 Not found");
        response.end();
路由器
function route(handle, pathname, response, request){
    console.log("About to route a request for "+ pathname);
    if(typeof handle[pathname]==='function'){
        handle[pathname](response, request);
    }else{
        console.log("No request handler found for "+ pathname);
        response.writeHead(404,{"Content-Type":"text/html"});
        response.write("404 Not found");
        response.end();
    }
}

exports.route = route;
index的代码
var server = require("./server");
var requestHandlers = require("./requestHandlers");
var router = require("./route");


var handle = {};

handle["/"] = requestHandlers.start;
handle["/start"] = requestHandlers.start;
handle["/show"] = requestHandlers.show;
handle["/upload"] = requestHandlers.upload;

server.start(router.route, handle);
服务器
var http = require("http");
var url = require("url");

function start(route,handle) {
    function onRequest(request, response) {
        var pathname = url.parse(request.url).pathname;
        console.log("Request for "+ pathname +" received.");
        route(handle, pathname, response, request);

        //解析网站传入的指令
        //在控制台告诉我们接收到了什么样的指令
        //将
    }

    http.createServer(onRequest).listen(8888);
    console.log("Server has started.");
}


exports.start = start;

解决解决了queryString库是做什么的

从名字就可以看出是一个和参数相关的帮助类,完成参数字符串和字符串或者是对象之间的转换。

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,014评论 25 709
  • 个人入门学习用笔记、不过多作为参考依据。如有错误欢迎斧正 目录 简书好像不支持锚点、复制搜索(反正也是写给我自己看...
    kirito_song阅读 7,188评论 1 37
  • 加入自省群以后,每天都有留意群朋的写的自省文字,也获益良多!虽然自己坚信吾日三省吾身,对自己的好处不言自明,但看到...
    在路上的小明阅读 1,222评论 0 0
  • 《出轨》 目录 出轨(12) 对方的丈母娘怎么会找过来?原来,那些照片同样也发在了,情人的老婆小悦的手机上。当天小...
    才赋裴伴_阿裴阅读 3,685评论 5 4
  • 当飞机稳稳地降落在了天河机场的时候已经是5.31日23:30分了,刚一踏上地面就感觉到热浪一下子朝我袭来,将我团团...
    文科升阅读 3,352评论 1 4