nodejs动态路由
主要功能:根据输入路由的不同,加载访问不同的HTML页面
在这里我不得不说webstorm真的是一个很棒的开发工具,我学习nodejs也是用的它。
文件目录:

first_server.js:
首先我们通过url获取当前路径,变量path来存储。
path因为我们输入路由的不同而改变
url.parse(request.url).pathname获取当前总路径,path.substr(1)去掉根号‘/’
require导入模块是如果是导入node以封装好的模块可以直接用名字导入,到时如果需要导入的是自定义模块需要我们把文件路径加上,如我的路由模块router=require('./module/router')
var http=require('http');
var url=require('url');
var router=require('./module/router');//导入路由模块,需要修改为自己得文件路径
http.createServer(function (request,response) {//创建服务
response.writeHead(200, {'Content-Type': 'text/html;charset=utf-8'});//输出类型
if (request.url!=='/favicon.ico'){//清除二次访问
var path=url.parse(request.url).pathname;
path=path.substr(1);//获取当前路径
router[path](request,response);//调用路由
console.log(path);
}
}).listen(5200);//端口号为5200
例如输入路径:login/xxk,会得到以下结果


router.js:(路由模块,不能有具体输出,起映射作用)
我简单写了两个选项,一个登陆和一个注册,一会根据浏览器输入地址的不同,加载页面
var url = require('url');
var optfile=require('./optfile');//导入自定义模块要加路径'./'
module.exports={
login:function (req,res) {
optfile.login(req,res);
},
register:function (req,res) {
optfile.register(req,res);
}
}
optfile.js(输出模块)
var fs = require('fs');
function recall(res,data){
res.writeHead(200, {'Content-Type': 'text/html;charset=utf-8'});
res.end(data);//浏览器输出
}
module.exports={
login:function (req,res) {
var data = fs.readFile('./file/login.html',function (err,data) {
if (!err){
data=data.toString();
recall(res,data);
// res.end(data)
console.log(99)//控制台输出
}else {
res.end('err');
}
})
},
register:function (req,res) {
// res.write('这是注册页面')
var data = fs.readFile('./file/register.html',function (err,data) {
if (!err){
recall(res,data);
}
})
}
};
login.html

register.html

运行结果:


nodejs动态路由的更多相关文章
- nodejs之express路由与动态路由
1.快速创建express项目步骤 /** * 1.cd 到项目里面 * 2.npm init --yes 创建package.json文件 * 3.安装express * npm install e ...
- Miox带你走进动态路由的世界——51信用卡前端团队
写在前面: 有的时候再做大型项目的时候,确实会被复杂的路由逻辑所烦恼,会经常遇到权限问题,路由跳转回退逻辑问题.这几天在网上看到了51信用卡团队开源了一个Miox,可以有效的解决这些痛点,于是乎我就做 ...
- Vue 实现动态路由及登录&404页面跳转控制&页面刷新空白解决方案
Vue实现动态路由及登录&404页面跳转控制&页面刷新空白解决方案 by:授客 QQ:1033553122 开发环境 Win 10 Vue 2.9.6 node-v ...
- AIX 环境下动态路由
IBM AIX v5.3操作系统环境下动态路由配置如下: 1,用命令lssrc -S routed和lssrc -S gated分别检查routed和gated子系统是是活动状态.如果这两个子系统为活 ...
- asp.net MVC动态路由
项目中遇到需要动态生成控制器和视图的. 于是就折腾半天,动态生成控制器文件和视图文件,但是动态生成控制器不编译是没法访问的. 找人研究后,得到要领: 1.放在App_Code文件夹内 2.不要命名空间 ...
- RIP、OSPF、BGP、动态路由选路协议、自治域AS
相关学习资料 tcp-ip详解卷1:协议.pdf http://www.rfc-editor.org/rfc/rfc1058.txt http://www.rfc-editor.org/rfc/rfc ...
- Ngnix技术研究系列2-基于Redis实现动态路由
上篇博文我们写了个引子: Ngnix技术研究系列1-通过应用场景看Nginx的反向代理 发现了新大陆,OpenResty OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台 ...
- 基于hi-nginx的web开发(python篇)——动态路由和请求方法
hi.py的提供的路由装饰器接受两个参数,第一个参数指定动态路由的正则模式,第二个参数指定同意的http请求方法列表. 比如: @app.route(r"^/client/?$", ...
- vue+iview实现动态路由和权限验证
github上关于vue动态添加路由的例子很多,本项目参考了部分项目后,在iview框架基础上完成了动态路由的动态添加和菜单刷新.为了帮助其他需要的朋友,现分享出实现逻辑,欢迎一起交流学习. Gith ...
随机推荐
- jzyz集训 0612
今天闵神找的题,题目质量还算不错,就是有些偏套路了. 第一题:定义一个排列是合法当且仅当这个排列中不存在大于2的循环节,询问有多少长度为n的排列是合法的且B排列是该排列的子序列. 恩...这题目其实不 ...
- java语言中Object对象的hashCode()取值的底层算法是怎样实现的
Java语言中,Object对象有个特殊的方法:hashcode(), hashcode()表示的是JVM虚拟机为这个Object对象分配的一个int类型的数值,JVM会使用对象的hashcode值来 ...
- ZOJ 1141 Closest Common Ancestors(LCA)
注意:poj上的数据与zoj不同,第二处输入没有逗号 ' , ' 题意:输出测试用例中是最近公共祖先的节点,以及这个节点作为最近公共祖先的次数. 思路:直接求,两个节点一直往上爬,知道爬到同一个节点, ...
- POJ 2497 Strategies
题意:有三个人,Bill, Steve and Linus,他们参加竞赛,给出竞赛的题目和比赛时间,然后给出每道题需要的时间(他们解同一道题花的时间相同),然后他们有不同的策略来做题.每道题的得分为当 ...
- Zookeeper用来干什么?
在Zookeeper的官网上有这么一句话:ZooKeeper is a centralized service for maintaining configuration information, n ...
- 在线接口管理工具-eoapi
为了方便和前端沟通,临时在局域网搭建了一个接口管理工具,查了一些资料都说eoapi不错,那就试了一下: 1.安装 要在服务器或者自己的电脑,准备web环境,Linux可以是Apache/nginx , ...
- struct tm 和 time_t 时间和日期的使用方法(转
关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元) .概念 在C/C++中,对字符串的操作有很多值得注意的问题,同样,C ...
- OpenCV——花环生成函数
// define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include < ...
- BJOI2018爆零记
没啥可说的 Day1 0分 T1 给你一个二进制串,每次修改一个位置,询问[l,r]区间中有多少二进制子串重排后能被3整除 T2 一个无向图(无重边自环)每个点有一个包含两种颜色的染色集合,一个边的两 ...
- HihoCoder1653 : 公平分队([Offer收割]编程练习赛39)(贪心)
描述 小Hi和小Ho在玩一个战争游戏.游戏中2N个战斗单位,其中第i个单位的战斗力是Ai. 现在小Hi和小Ho要各选N个单位组成队伍,当然他们都希望自己队伍的总战斗力越大越好. 为了使分队更加公平,经 ...