主要功能:根据输入路由的不同,加载访问不同的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



运行结果:



最新文章

  1. Oracle查询每天固定时间段的数据
  2. 从QQ网站中提取的纯JS省市区三级联动
  3. string 字符串的分隔处理与list的相互转换
  4. ASP.NET登录控件延伸(个性化)
  5. h5 -1
  6. 简单分析什么是SQL注入漏洞
  7. 【转】代码控制UI,View
  8. php ob_ 开头的相关函数
  9. java volatile关键字的理解
  10. Javascript 正确用法 二
  11. LESS文档
  12. [转载]浏览器事件window.onload、onfocus、onblur、ons
  13. PHP开发模式之-单例模式
  14. 服务化改造实践 | 如何在 Dubbo 中支持 REST
  15. golang开源项目qor快速搭建网站qor-example运行实践
  16. Web存储及文件拖拽
  17. My IELTS result has come out 我的雅思成绩出来了
  18. 廖雪峰Java5集合-3Map-1使用Map
  19. 前端面试问题css汇总
  20. [原创]K8_C段旁注查询工具5.0 30款国外主流CMS识别+智能识别未知CMS

热门文章

  1. MIS系统中的报表测试
  2. 如何识别真Microsoft服务与非Microsoft服务来定位病毒自己的服务
  3. python-常用内置函数与装饰器
  4. Zookeeper用来干什么?
  5. Java钉钉开发_Exception_异常总结
  6. 第十四章-MySQL
  7. static修饰类的作用
  8. ZOJ1905Power Strings (KMP||后缀数组+RMQ求循环节)
  9. 【bzoj1232】[Usaco2008Nov]安慰奶牛cheer
  10. CentOS7的安装以及GPT和MBR