欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Node.js自定义实现文件路由功能

程序员文章站 2022-04-09 21:43:20
一、创建路由处理定义 //获取http模块 var http = require('http'); //文件 模块 var fs = require...

一、创建路由处理定义

//获取http模块 
var http = require('http'); 
//文件 模块 
var fs = require('fs'); 
//404文件 
var error = "./view/404.html"; 
//实现文件 相应函数以及404错误相应函数  
var response = function (res, filepath) { 
  //读取 文件,然后给客户端 相应 
  fs.readfile(filepath, function (err, data) { 
    if (err) { 
      if (filepath != error) //如果出错输出404页面 
        response(res, error); 
    } else { 
      res.writehead(200, { 'content-type': 'text/html' }); 
      res.end(data); 
    } 
  }); 
} 

二、创建服务器 ,监听路由处理

//创建和启动服务器 
var server = http.createserver(function (req, res) { 
  console.info(req.url); 
  //判断 url,提供 不同的路由 
  var url = req.url; 
  if (url == '/index' || url == '/') { 
    //主页 
    var index = require('../view/index'); 
    index.write(res); 
  } else { 
    //制定文件输出view下的文件内容 
    response(res, './view' + url); 
  } 
}); 
//启动服务器 
server.listen('3000', function () { 
  var address = server.address(); 
  console.info(address); 
  console.info('服务器启动成功:http://localhost:%s', address.port); 
}); 

Node.js自定义实现文件路由功能Node.js自定义实现文件路由功能

三 、首页模块响应

/** 
 * 主页内容响应处理 
 */ 
exports.write=function(res){ 
  res.writehead(200,{'content-type':'text/html'}); 
  res.write('<meta http-equiv="content-type" content="text/html; charset=utf-8" />'); 
  res.write('<h1>主页内容2</h1>'); 
  res.end(); 
} 

总结

以上所述是小编给大家介绍的node.js自定义实现文件路由功能,希望对大家有所帮助