一、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(){}
}