node_mvc路由设计

1.入口index.js

复制代码
let http = require('http')
let service = require('./service/index.js')

// 1.执行router/index.js导入路由对象
let router = require('./router/index.js')
// 2.使用use方法配置路由 // 路由设计不对,use方法没用
router.use('/home', router.home)
router.use('/guoji', router.guoji)
router.use('/guonei', router.guonei)
router.use('/sports', router.sports)

let server = http.createServer((req, res) => {
  // 3.发送请求
  router(req, res)
}).listen(8888)
复制代码

2.router/index.js 路由设计理念

复制代码
let url = require('url')
let querystring = require('querystring')
let request = require('request')
let fs = require('fs')
// 导出路由方法,与路由设计分离
let routerMethods = require('./routerMethods.js')

//3.1设计路由理念
module.exports = (req, res) => {
  let urlObj = url.parse(req.url)
  let methods = module.exports[urlObj.pathname.substr(1)]
  if (methods) methods(req, res)
  else {
    //静态路由资源托管
    fs.readFile(__dirname + '/../src'+urlObj.pathname , (err, data) => {
    if (err){return err}
    res.end(data) }) } }
//es6语法 对象合并 //2.2设计实现的分离 Object.assign(module.exports, routerMethods) //2.1路由配置 // 路由设计不对 use方法没用,把自己的方法重新赋值给自己 module.exports.use = (url, callback) => { let urlProp = url.substr(1) module.exports[urlProp] = callback }
复制代码

3.router/routerMethods.js路由方法实现

复制代码
//实现路由方法

module.exports = {
  home () {
    console.log('home...')
  },
  guonei () {
    console.log('guonei...')
  },
  guoji () {
    console.log('guoji...')
  },
  sports () {
    console.log('sports...')
  }
}
复制代码

 

posted @   前端之旅  阅读(223)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示