Node.js学习-14MVC

一、MVC是什么?

MVC:是一种设计思想
M: Model 数据模型层
V: View 视图层
C: Controller 逻辑控制层

二、使用步骤

文件夹位置信息
在这里插入图片描述

1.index.js部分

代码如下(示例):


// var http=require("http")
// var fs=require("fs")
// var url=require("url")
// var querysting=require("querystring")
// var mime=require("mime")
// var mycontroller=require("./mycontroller.js")


// var obj={}
// obj["/ajax1"]=function(res){
// 	res.end()
// }
// obj["/ajax2"]=function(){}
// obj["/ajax3"]=function(){}
// obj["/ajax4"]=function(res){
// 	res.end("666")
// }
// obj["/ajax5"]=function(){}




// "http://192.168.6.60:8080/ajax2"
// var app=http.createServer((req,res)=>{
//    let pathname=url.parse(req.url).pathname  //  "/ajax2"
//    fs.readFile(__dirname+"/src"+pathname,(err,data)=>{
// 	   if(!err){res.end(data)}
// 	   else{
// 		    router[pathname]&&router[pathname](res) 
// 	   }
//    })
// })

// var router={}
// app.use=function(url,cb){
// 	router[url]=cb
// }

// app.use("/ajax1",function(){})
// app.use("/ajax2",function(){})
// app.use("/ajax3",function(){})



// app.listen(8080)


var http=require("http")
var router =require("./router.js")
var controller =require("./controller.js")
// var app=http.createServer((req,res)=>{
//    router(req,res)
// })
var app=http.createServer(router)
//静态资源托管
router.static(__dirname+"/src")
//注册网址
router.get("/ajax1",controller.ajax1)
router.get("/ajax2",controller.ajax2)
router.get("/ajax3",controller.fn)

2.routerjs部分

var fs=require("fs")
var url=require("url")
var querysting=require("querystring")
var mime=require("mime")
let urls={}
let router=function(req,res){
	//这个函数每次用户访问时运行
	let pathname=url.parse(req.url).pathname
	fs.readFile(router.basepath+pathname,(err,data)=>{
		if(!err){
			res.setHeader("content-Type",mime.getType(pathname))
			res.end(data)
		}else{
			if(!urls[pathname]){res.end("404 not found-mymvc")}
			else{urls[pathname](req,res)}
		}
	})
}
router.static=function(path){
	this.basepath=path
}
router.get=function(url,cb){
	urls[url]=cb
}
router.basepath=__dirname+"/public"
module.exports=router;

3.controller.js部分

代码如下(示例):

module.exports={
	ajax1(req,res){},
	ajax2(){},
	fn(){}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值