主要功能:根據輸入路由的不一樣,加載訪問不一樣的HTML頁面
在這裏我不得不說webstorm真的是一個很棒的開發工具,我學習nodejs也是用的它。
文件目錄:
html
first_server.js:
首先咱們經過url獲取當前路徑,變量path來存儲。
path由於咱們輸入路由的不一樣而改變
url.parse(request.url).pathname獲取當前總路徑,path.substr(1)去掉根號‘/’
require導入模塊是若是是導入node以封裝好的模塊能夠直接用名字導入,到時若是須要導入的是自定義模塊須要咱們把文件路徑加上,如個人路由模塊router=require('./module/router')node
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,會獲得如下結果
web
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(輸出模塊)webstorm
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
運行結果:
工具