博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node开发入门
阅读量:6650 次
发布时间:2019-06-25

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

本文涉及四个文件:

  • index.js                   调度和设置
  • requestHandlers   页面输出
  • server.js                  服务器启动
  • router.js                  路由逻辑

 

index.js

//index.js(设置路由并调用server启动服务器)var server = require("./server"),     router = require("./router"),     requestHandlers = require("./requestHandlers");var handle = {};handle["/"] = requestHandlers.start;handle["/start"] = requestHandlers.start;handle["/sb"] = requestHandlers.sb;server.start(router.route, handle);

requestHandlers.js

//requestHandlers.js(页面函数)var querystring = require("querystring");function start(response) {    var body = '' +        '' +        '
' + '' + '' + '
' + '
' + '
' + '
' + '' + ''; response.writeHead(200, { "Content-Type": "text/html" }); response.write(body); response.end();}function sb(response, postData) { response.writeHead(200, { "Content-Type": "text/plain" }); response.write(querystring.parse(postData).text); response.end();}exports.start = start;exports.sb = sb;

router.js

//router.js(路由逻辑)function route(handle, pathname, response, postData) {    console.log("来自" + pathname+"的请求");    if (typeof handle[pathname] === "function") {        handle[pathname](response, postData);    } else {        console.log("未发现来自" + pathname+"的请求");        response.writeHead(404, { "Content-Type": "text/plain" });        response.write("404 Not found");        response.end();    }};exports.route = route;

server.js

//server.js(服务器启动函数)var http = require("http"), url = require("url");function start(route, handle) {    function onRequest(request, response) {        var postData = "";        var pathname = url.parse(request.url).pathname;        console.log("来自" + pathname + "的请求已接收");        request.setEncoding("utf8");        request.addListener("data", function (postDataChunk) {            postData += postDataChunk;        });        request.addListener("end", function () {            route(handle, pathname, response, postData);        })    }    http.createServer(onRequest).listen(3000);    console.log("服务器已启动");}exports.start = start;

 

转载于:https://www.cnblogs.com/boystar/p/4742036.html

你可能感兴趣的文章
知识点记录
查看>>
oracle服务器重启后无法进入系统,登录系统时提示model is unknow
查看>>
action访问spring的两种策略
查看>>
找不到servlet类,报异常java.lang.classnotfoundexception
查看>>
根据字体多少使UILabel自动调节尺寸
查看>>
Discuzee模版社区
查看>>
微信公众号开发简介
查看>>
有人认为“中文编程”是解决中国程序员编程效率的秘密武器,请问它是一个“银弹”吗?...
查看>>
YII 模型model层添加新变量,渲染到视图层
查看>>
dede后台栏目文章问题
查看>>
扩展欧基里德算法模板
查看>>
jqgrid 单元格放超链接文本
查看>>
heartbeat + drbd + nginx
查看>>
UVA458 The Decoder
查看>>
CCF201503-5 最小花费(30分)
查看>>
CCF NOI1145 数字金字塔【DP】
查看>>
HDU5150 Sum Sum Sum
查看>>
UVA11292 HDU1902 POJ3646 The Dragon of Loowater【贪心】
查看>>
python入门知识点(上)
查看>>
ASP.Net页面刷新后自动滚动到原来位置
查看>>