路由的基本使用

第一步:获取url跟目录下的字符

var http = require('http');
var url = require('url') http.createServer(function (request,response) {
response.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
if(request.url !== "/favicon.ico"){ //拿到浏览器访问的url路劲,并且替换掉前面的/
var pathname = url.parse(request.url).pathname.replace(/\//, '')
console.log(pathname) response.end("")
}
}).listen(9000)

浏览器访问http://localhost:9000/login

后台拿到访问路劲login

第二步:路由功能的实现

首先创建一个路由模块文件router.js,下面代码分别由login和register

这种方式其实就是根据pathname来调用router中的login或者register方法

module.exports = {
login (req,res) {
res.write("我是login方法")
},
register (req,res) {
res.write('我是register方法')
}
}
var http = require('http'); //http是node中自带的一个模块,引入即可使用
var url = require('url');
var router = require('./router'); http.createServer(function (request,response) {
response.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
if(request.url !== "/favicon.ico"){ var pathname = url.parse(request.url).pathname.replace(/\//, ''); try {
router[pathname](request,response);
}catch(err) {
console.log(err)
}
response.end("")
}
}).listen(9000)

如果在后面输入不存在的,则打印出错误信息

路由结合读取文件

首先创建两个html文件,login.html和register.html

创建主程序app.js

var http = require('http');
var url = require('url')
var router = require('./router') http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
if(request.url !== "/favicon.ico"){
var pathName = url.parse(request.url).pathname.replace(/\//, '')
router[pathName](request,response)
response.end();
}
}).listen(9000)

创建路由模块router.js

这是路由模块的文件,这里会使用到闭包函数,还会用到读取文件的模块,这里先调用读取文件模块中的异步读取,传入闭包函数

node.js 路由详解的更多相关文章

  1. Node.js npm 详解

    一.npm简介 安装npm请阅读我之前的文章Hello Node中npm安装那一部分,不过只介绍了linux平台,如果是其它平台,有前辈写了更加详细的介绍. npm的全称:Node Package M ...

  2. Node.js知识点详解(一)基础部分

    转自:http://segmentfault.com/a/1190000000728401 模块 Node.js 提供了exports 和 require 两个对象,其中 exports 是模块公开的 ...

  3. Vue.js路由详解

    有时候,我们在用vue的时候会有这样的需求,比如一个管理系统,点了左边的菜单栏,右边跳转到一个新的页面中,而且刷新的时候还会停留在原来打开的页面. 又或者,一个页面中几个不同的画面来回点击切换,这两种 ...

  4. Vue 路由详解

    Vue 路由详解 对于前端来说,其实浏览器配合超级连接就很好的实现了路由功能.但是对于单页面应用来说,浏览器和超级连接的跳转方式已经不能适用,所以各大框架纷纷给出了单页面应用的解决路由跳转的方案. V ...

  5. vue技术栈进阶(02.路由详解—基础)

    路由详解(一)--基础: 1)router-link和router-view组件 2)路由配置 3)JS操作路由

  6. js对象详解(JavaScript对象深度剖析,深度理解js对象)

    js对象详解(JavaScript对象深度剖析,深度理解js对象) 这算是酝酿很久的一篇文章了. JavaScript作为一个基于对象(没有类的概念)的语言,从入门到精通到放弃一直会被对象这个问题围绕 ...

  7. Ocelot简易教程(三)之主要特性及路由详解

    作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9664977.html 上篇<Ocelot简易教程(二)之快速开始2>教大家如何快速跑起来一个 ...

  8. elasticsearch系列三:索引详解(分词器、文档管理、路由详解(集群))

    一.分词器 1. 认识分词器  1.1 Analyzer   分析器 在ES中一个Analyzer 由下面三种组件组合而成: character filter :字符过滤器,对文本进行字符过滤处理,如 ...

  9. Express的路由详解

    Express的路由详解 http://www.jb51.net/article/76203.htm

随机推荐

  1. 如何将云上的Linux文件自动备份到本地服务器

    需求场景: 将云上一台Linux服务器文件备份到本地服务器,一周一备即可. 面对这样一个需求,我们可能面临下列几个问题, 备份方式:是云服务器推文件到本地服务器写入,还是本地服务器从云服务器拉文件?这 ...

  2. Java-Queue总结

    1. ConcurrentLinkedQueue 基础链表同步队列. import java.util.Queue; import java.util.concurrent.ConcurrentLin ...

  3. 浅谈Semaphore类-示例

    Semaphore类有两个重要方法 1.semaphore.acquire(); 请求一个信号量,这时候信号量个数-1,当减少到0的时候,下一次acquire不会再执行,只有当执行一个release( ...

  4. loadrunner:Action.c(4): Error -27796: Failed to connect to server "10.8.251.101:10086": [10060] Connection timed out

    Action.c(4): Error -27796: Failed to connect to server "10.8.251.101:10086": [10060] Conne ...

  5. SpringIOC源码解析(上)

    注意,看完这篇文章需要很长很长很长时间... 准备工作 本文会分析Spring的IOC模块的整体流程,分析过程需要使用一个简单的demo工程来启动Spring,demo工程我以备好,需要的童鞋自行在下 ...

  6. C# 构造基础返回值类型-BaseResponse

    学无止境,精益求精 十年河东,十年河西,莫欺少年穷 用于基础返回值类型,如下: using System; using System.Collections.Generic; using System ...

  7. javascript高级程序设计学习历程

    第三章 基本概念 3.1 语法 3.1.1 区分大小写 ECMAScript中的一切(变量,函数,操作符)都区分大小写的 3.1.2 标识符 标识符:变量,函数,属性的名字以及函数的参数. 标识符的命 ...

  8. 学习笔记之Web

    学习笔记之JavaScript - 浩然119 - 博客园 https://www.cnblogs.com/pegasus923/p/9436340.html 学习笔记之PHP - 浩然119 - 博 ...

  9. Spark实现分组TopN

    一.概述 在许多数据中,都存在类别的数据,在一些功能中需要根据类别分别获取前几或后几的数据,用于数据可视化或异常数据预警.在这种情况下,实现分组TopN就显得非常重要了,因此,使用了Spark聚合函数 ...

  10. yaml格式配置文件

    YAML 是一种可读性非常高,与程序语言数据结构非常接近.同时具备丰富的表达能力和可扩展性,并且易于使用的数据标记语言. python中处理 Yaml 格式的数据需要先下载pyyaml: pip in ...