12、Node.js 路由
这里实现的好像就是把路由和服务器相结合起来。具体需要引入 url 模块和 http 模块
为路由提供请求的 URL 和其他需要的 GET 及 POST 参数,随后路由需要根据这些数据来执行相应的代码
需要查看 HTTP 请求,从中提取出请求的 URL 以及 GET/POST 参数,所以需要引入url 和 querystring模块
#####################################################################################
通过给 onRequest() 函数加上一些逻辑,用来找出浏览器请求的 URL 路径:
//1_server.js
var http = require('http');
var url = require('url');
function start() {
function onRequest(request, response) {
var pathname = url.parse(request.url).pathname;
console.log('Request for ' + pathname + 'received');
response.writeHead(200, {'Content-Type': 'text/plain'});
response.write('love A');
response.end();
}
var server= http.createServer(onRequest);
server.listen(8888);
console.log('server has started');
}
exports.start = start;
现在可以通过请求的 URL 路径来区别不同请求了--这使我们得以使用路由(还未完成)来将请求以 URL 路径为基准映射到处理程序上
在我们所要构建的应用中,这意味着来自 /start 和 /upload 的请求可以使用不同的代码来处理。稍后我们将看到这些内容是如何整合到一起的。
//1_router.js
function route(pathname) {
console.log('About to route a request for ' + pathname);
}
exports.route = route;
相应扩展 index.js,使得路由函数可以被注入到服务器中:
//1_index.js
var server = require("./server");
var router = require("./router");
server.start(router.route);
12、Node.js 路由的更多相关文章
- 2015年12月12 Node.js实战(一)使用Express+MongoDB搭建多人博客
序,Node是基于V8引擎的服务器端脚本语言. 基础准备 Node.js: Express:本文用的是3.21.2版本,目前最新版本为4.13.3,Express4和Express3还是有较大区别,可 ...
- Node.js 路由
我们要为路由提供请求的URL和其他需要的GET及POST参数,随后路由需要根据这些数据来执行相应的代码. 因此,我们需要查看HTTP请求,从中提取出请求的URL以及GET/POST参数.这一功能应当属 ...
- Node js路由
/* 要为程序提供请求的 URL 和其他需要的 GET 及 POST 参数,随后程序需要根据这些数据来执行相应的代码. 因此,需要查看 HTTP 请求,从中提取出请求的 URL 以及 GET/POST ...
- node.js 路由详解
路由的基本使用 第一步:获取url跟目录下的字符 var http = require('http'); var url = require('url') http.createServer(func ...
- node.js - 路由、中间件、mysql
这几天天天搞到这么晚,我看今天的内容看起不多啊,不知道为什么学着学着就到了这么晚.今天的内容还是有点多哈,有点自我矛盾了,再次一一道来. 1. 首先今天先看到路由的概念,什么叫做路由? 路由就是映射关 ...
- Node.js权威指南 (12) - Node.js中的其他模块
12.1 使用dns模块解析域名 / 313 12.1.1 使用resolve方法将域名解析为DNS记录 / 313 12.1.2 使用lookup方法查询IP地址 / 315 12.1.3 使用re ...
- Node.js Web 开发框架大全《路由篇》
这篇文章与大家分享优秀的 Node.js 路由(Routers)模块.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用 ...
- Node.js:路由
ylbtech-Node.js:路由 1.返回顶部 1. Node.js 路由 我们要为路由提供请求的 URL 和其他需要的 GET 及 POST 参数,随后路由需要根据这些数据来执行相应的代码. 因 ...
- [Node.js] 07 - Html and Http
前言 一.原本的计划 Node.js 路由 Node.js GET/POST请求 到此,有必要复习下http章节 Node.js Web 模块 Node.js Express 框架 Node.js R ...
随机推荐
- 【Echo】实验 -- 实现 C/C++下TCP, 服务器/客户端 通讯
本次实验利用TCP/IP, 语言环境为 C/C++ 利用套接字Socket编程,实现Server/CLient 之间简单的通讯. 结果应为类似所示: 下面贴上代码(参考参考...) Server 部分 ...
- Java基础教程(6)--数组
1.基本概念 数组中的每一项称为元素,每个元素都通过数字索引(也可以称为下标)访问,编号从0开始.例如,第4个元素的索引为3.下面的程序创建了一个int类型的数组,把一些值放入数组中并将每个值打印 ...
- java自学之路-开篇
开篇 想写一些java自学文章的心思起好久了,也在心里规划了一段时间,今天终于开始正式付于纸上.接下来要写的内容从java基础开始,一步步到正式工作用到的技术,整个体系适合java初学者自学.内容可能 ...
- Linux下一个最简单的不依赖第三库的的C程序(1)
如下代码是一段汇编代码,虽然标题中使用了C语言这个词语,但下面确实是一段汇编代码,弄清楚了这个代码,后续的知识点才会展开. simple_asm.s: #PURPOSE: Simple program ...
- SSM maven框架下载简易版
1.前台一个a标签,写个地址就行了 例如 <a href="${pageContext.request.contextPath}/fileDownLoad">前去下载& ...
- DButils分析
package com.ldf.utils; import java.sql.Connection; public class DBUtils { private static String driv ...
- POJ 1006 Biorhythms --中国剩余定理(互质的)
Biorhythms Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 103539 Accepted: 32012 Des ...
- Spring与Web
一.定义页面及Servlet 在jsp页面加入以下,避免乱码 <meta charset="utf-8"> <body> <form action=& ...
- thinkphp I() 方法
I() 方法用于获取前台提交的表单的value值. <form id="complai_form" method="post" action=" ...
- js Object 的冻结、密封、扩展的相同以及不同点
Object.freezed() 冻结 检查函数 Object.isFrozen(obj) Object.seal() 密封 检查函数 Object.isSealed(obj) Object.pr ...