路由的基本使用html
第一步:獲取url跟目錄下的字符node
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閉包
第二步:路由功能的實現app
首先建立一個路由模塊文件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)
若是在後面輸入不存在的,則打印出錯誤信息ui
路由結合讀取文件url
首先建立兩個html文件,login.html和register.htmlspa
建立主程序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
這是路由模塊的文件,這裏會使用到閉包函數,還會用到讀取文件的模塊,這裏先調用讀取文件模塊中的異步讀取,傳入閉包函數