node.js-------使用路由模块
路由需要的信息,包括URL 及GET 或 POST参数。路由根据这些参数执行相应的js处理程序,因此,需要在HTTP请求中提取出URL以及GET或POST参数。这些请求参数在request对象中,这个对象是onRequest()回调函数的第一个参数。需要提取这些信息,需要Node.js的模块,url和querystring模块。
url.parse(string).query
|
url.parse(string).pathname |
| |
http://localhost:8888/start?foo=bar&hello=world
querystring(string)["foo"]
querystring(string)["hello"]
当然可以用querystring模块来解释POST请求体中的参数。
可以通过不同的请求的URL路径来映射到不同的处理程序上面,路由就是做这一个工作。
例如来自:/start和/upload的请求可以使用不同的程序来处理。
下面是一个例子:
---index.js
---server.js
---route.js
编写一个路由,route.js
function route(pathname){console.log("About to route a request for " + pathname);
}
exports.route = route;
编写处理请求的页面,server.js
var http = require("http");
var url = require('url');function start(route){function onRequest(request, response){var pathname = url.parse(request.url).pathname;console.log("Request for " + pathname + "received");route(pathname);//在这里可以对不同的路径进行处理//if(pathname =="...") response.writeHead不同的信息之类response.writeHead(200, {"Content-Type" : "text/plain"});response.write("Hello World");response.end();}http.createServer(onRequest).listen(3000);console.log("Server has started.");
}
exports.start = start;
编写启动文件,index.js
var server = require("./server");
var router = require("./router");server.start(router.route);
在客户端启动应用,服务器启动,开始监听3000端口:
node index.js
在浏览器端输入一个请求URL:
http://127.0.0.1:3000/
看到相应的客户端输出:
浏览器显示:
转载于:https://www.cnblogs.com/IanI/p/3990210.html
node.js-------使用路由模块相关推荐
- Node.js:路由
ylbtech-Node.js:路由 1.返回顶部 1. Node.js 路由 我们要为路由提供请求的 URL 和其他需要的 GET 及 POST 参数,随后路由需要根据这些数据来执行相应的代码. 因 ...
- node.js express php,nodejs开发——express路由与中间件
路由 通常HTTP URL的格式是这样的: http表示协议. host表示主机. port为端口,可选字段,不提供时默认为80. path指定请求资源的URI(Uniform Resource Id ...
- Node.js 系列:构建原生 Node.js 应用
原生 Node.js 应用 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境 Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效 Nod ...
- 第一个实例-----我与node.js的第一步接触
因为最近有东西需要用到node.js,所以我就在linux虚拟机上安装了node.js,对于javascript,也是第一次接触. 刚入门,就是一个实用的案例,毕竟这些东西都是实践出真知.这个案例就是 ...
- node.js 搭建blog
搭建开发环境并模拟交互数据 一.实验说明 下述介绍为实验楼默认环境,如果您使用的是定制环境,请修改成您自己的环境介绍. 三.功能模块分析与设计 四.搭建开发环境 LouBlog 使用 nodeJS 搭 ...
- node.js学习笔记
# node.js学习笔记标签(空格分隔): node.js---## 一 内置模块学习 ### 1. http 模块 ``` //1 导入http模块 const http =require('ht ...
- Node.js 入门到干活,10 个优质项目就够了!
Node.js 在很多大公司都有不错的实践,比如:淘宝.天猫 Web 版,很多页面都是在 Node 服务器上渲染的.还有各种脚手架.前端打包发布工具.构建生态的小工具,也基本都是 Node.js 编写 ...
- Node.js 入门详解 (三)
目录 1. 初识Express 1.1 Express简介 1.1.1 什么是Express 1.1.2 进一步理解 Express 1.1.3 Express能做什么 1.1.4 Express 中 ...
- node.js 针对不同的请求路径(url) 做出不同的响应
边看这个边写的: http://wenku.baidu.com/link?url=C4yLe-TVH6060u_x4t34H3Ze8tjoL7HjJaKgH-TvHnEYl-T_gAMYwhmrCeM ...
- Node.js 入门知识点总结
Noed.js 快速入门 前言 node.js 入门 环境配置 hello node.js node.js 获取参数 node.js 模块系统 node.js 路由 node.js 文件操作 使用 n ...
最新文章
- LeetCode Remove Element
- [hdu1847]博弈,推理
- CLR Via CSharp读书笔记(26) - 计算限制的异步操作
- [css] 固定的外框尺寸,里面的图片尺寸不固定,如何让图像自适应外框呢?
- 一文看懂卷积神经网络
- Process Kill Technology Process Protection Against In Linux
- 解决ajaxSubmit无法传递自动回填和下拉框的数据
- CefSharp方法汇总
- exFAT硬盘写保护修复远程登录提示到期
- Rockchip RK3588 MIPI-DSI2 详解
- 【算法专题】数独问题详解
- 输入日期判断这一年的第几天
- mysql允许远程链接,开放3306端口
- Android,上传一张本地图片到服务器,Okhttp的post请求上传图片本地服务器
- iOS根据图片比例计算显示大小
- 前端开发技术——对象
- Windows时钟同步(时间同步)问题
- 文献阅读:Improving neural networks by preventing co-adaptation of feature detectors
- python unpacking_Python在unpacking上的一个小陷阱
- OPENCART之兼容多种浏览器的加入收藏夹扩展功能插件(CROSS-BROWSER BOOKMAR
热门文章
- R统计工具:正态性检验
- linux dmaengine编程
- 信用卡消费退款,商家让客户付手续费,合理吗?
- 使用Slim框架实现基本的REST API
- winform 鼠标 静止时间_赢得电竞的奥秘,你需要一块好鼠标垫
- mysql主键用完了怎么办_MySQL 自增 ID 用完了怎么办?
- python程序如何封装成接口_python接口自动化如何封装获取常量的类
- android listview 数据同步,android中ListView数据刷新时的同步方法
- 如何用python制作九九乘法表_Python一行代码给儿子制作九九乘法表
- 关于Unity中的声音管理模块(专题七)