博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nodejs基础 -- 路由
阅读量:6694 次
发布时间:2019-06-25

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

我们要为路由提供请求的URL和其他需要的GET/POST参数,随后路由需要根据这些数据(URL、GET/POST参数)来执行相应的代码。

因此,需要查看HTTP请求,从中提取出请求的URL及GET/POST参数。(这一功能属于路由还是服务器?暂无定论,这里暂定为HTTP服务器的功能)。这些数据(url,get/post参数)都包含在request对象中,而该对象是作为onRequest()回调函数的第一个参数传递的。

总结以上:

首先,我们需要查看HTTP请求,从中提取出URL及GET/POST参数,然后路由就可以根据这些残血来执行相应的代码。

 

示例:

1、创建server.js服务器文件,内容如下:

var http = require("http");var url = require("url"); //引入url原生模块,用来解析request中带的url及get/post参数function start(route){    function onRequest(request,response){        var pathname = url.parse(request.url).pathname; //通过url对象解析路径        console.log("Request for"+pathname+"received.");                route(pathname);                response.writeHead(200,{"content-type":"text/plain"});        response.write("hello world");                response.end();    }        http.createServer(onRequest).listen(8888);    console.log("server has started...");}exports.start = start;

2、建立router.js路由文件,内容如下:

function route(pathname){    console.log("about to route a request for"+pathname);}exports.route = route;

3、建立调用入口文件index.js,内容如下:

var server = require("./server");var router = require("./router");server.start(router.route);

运行index.js文件,结果如下:

转载于:https://www.cnblogs.com/hf8051/p/5056360.html

你可能感兴趣的文章
最短路径 - 弗洛伊德(Floyd)算法
查看>>
FlasCC例子研究之Drawing补充
查看>>
省市县结合身份证号6位码的三级联动
查看>>
common.js
查看>>
Oracle(转换函数)
查看>>
构建高性能数据库缓存之redis(二)
查看>>
sdk 升级,search path,
查看>>
好吧,排列组合,
查看>>
Spring MVC Ajax 嵌套表单数据的提交
查看>>
css实现半颗星评分效果
查看>>
nodejs,事件轮询总结
查看>>
调和生活前的问题
查看>>
Sencha-包装-Native APIs(本地API) (官网文档翻译28)
查看>>
asp.net HC框架 前后台交互及Ajax 及前后台分离开发 及 Demo
查看>>
【Latex】如何在Latex中插入伪代码 —— clrscode3e
查看>>
JProgressBar的用法
查看>>
the art of seo(chapter three)
查看>>
GWT 中实现“CSS Sprite”
查看>>
svn检出maven项目的步骤
查看>>
Mysql的使用基础
查看>>