node.js学习之用路由方法获取简单的图文html页面
2017-07-25 16:15
761 查看
程序主程序n8_routehtml.js
var http = require('http'); var url = require('url'); var router = require('./models/router'); http.createServer(function(request,response){ if(request.url!=="/favicon.ico"){ //清除第2此访问 /*获取要访问的页面*/ pathname=url.parse(request.url).pathname; pathname = pathname.replace(/\//,'');//替换掉前面的/ //console.log(pathname); //由route调用不同的方法 router[pathname](request,response); } }).listen(3000); console.log('Server running at ./models/router.js:' target='_blank'>http://127.0.0.1:3000/');[/code]./models/router.js://导入文件操作对象 var optfile = require("../models/optfile.js"); //getRecall作为一个公共的函数,访问不同的页面时,由不同的函数调用 function getRecall(res,req){ res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'}); function recall(data){ res.write(data); res.end(''); } return recall; } module.exports={ login:function(req,res){//登录页面 //res.write("I am login function"); recall = getRecall(res,req); optfile.readfile('./views/login.html',recall); }, register:function(req,res){//注册页面 //res.write("I am register function"); recall = getRecall(res,req); optfile.readfile('./views/register.html',recall); }, showimg:function(req,res){ res.writeHead(200, {'Content-Type':'image/jpeg'}); optfile.readimg('./image/cbd.jpg',res); } }./models/optfile.js:var fs = require('fs'); module.exports={ readfile:function(path,recall){ //异步读取文件 fs.readFile(path,function(err,data){ if(err){ console.log(err); }else{ //res.write(data.toString()); recall(data); //res.end(''); } }); console.log("异步方法执行完毕"); }, readimg:function(path,res){ //异步方式读取图片 fs.readFile(path,'binary',function(err,data){ if(err){ console.log(err); return; }else{ res.write(data,'binary'); res.end(''); } }); } }要读取的页面在./views文件夹下
login.html<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>欢迎登陆</title> </head> <body> <h2>welcome to node.js</h2> <img src="http://localhost:3000/showimg"/> </body> </html>
运行结果:
相关文章推荐
- HTML页面中用JS获取地址栏参数的方法(超级简单)
- 【自己的整理】node.js直接输出一个非常简单的HTML页面
- Node.js学习笔记(4)--简单路由,老师学生id
- 在HTML页面用JS获取Get参数方法
- 一个B.js获取另一个A.js的方法,只要将在html页面中的载入顺序将A.js放在B.js前即可
- js获取html页面节点方法(递归方式)
- 简单使用location.hash的方法 ,怎么做,有什么用? 简单的js路由页面方法。
- 学习笔记之php页面中js获取标签元素的ID值方法
- js获取html的span标签的值方法(超简单)
- js获取html页面节点方法(递归方式)
- 用JS获取地址栏参数的方法(超级简单)
- 纯HTML和js:简单实现页面单个输入框自动切为双输入框
- JS获取当前页面路径的相关方法(属性)
- Java学习笔记之网络编程基础-通过URLConnection获取HTML页面
- Java学习笔记之网络编程基础-通过URL获取HTML页面
- 学习Altas 笔记[JS简单调用服务端方法]
- 如何用js得到当前页面的url信息方法(JS获取当前网址信息)
- ASP.NET 页面刷新的实现方法(包括html,js)
- 利用js获取服务器时间的两个简单方法
- 获取网站某页面的html信息两种方法