• node.js --- MVC


    MVC即 model 、controller、view;

            M: Model      数据模型层
            V: View       视图层
            C: Controller 逻辑控制层

    MVC模式将model、view、controller分离;
    使用mvc分层是系统更加灵活,扩展性更强。让程序更加直观、复用性更强、可维护性更强。

    model 负责数据访问;
    controller 负责消息处理;
    view 负责视图呈现;

    简易封装一个MVC的方法:

            index.js文件:

    1. var http=require("http")
    2. var router =require("./router.js")
    3. var controller =require("./controller.js")
    4. var app=http.createServer(router)
    5. //静态资源托管
    6. router.static(__dirname+"/src")
    7. //注册网址
    8. router.get("/ajax1",controller.ajax1)
    9. router.get("/ajax2",controller.ajax2)
    10. router.get("/ajax3",controller.fn)
    11. app.listen(8081)

            router.js文件:

    1. var fs = require("fs")
    2. var url = require("url")
    3. var querysting = require("querystring")
    4. var mime = require("mime")
    5. let urls = {}
    6. let router = function (req, res) {
    7. //这个函数每次用户访问时运行
    8. let pathname = url.parse(req.url).pathname
    9. fs.readFile(router.basepath + pathname, (err, data) => {
    10. if (!err) {
    11. res.setHeader("content-Type", mime.getType(pathname))
    12. res.end(data)
    13. } else {
    14. if (!urls[pathname]) {
    15. res.end("404 not found")
    16. } else {
    17. urls[pathname](req, res)
    18. }
    19. }
    20. })
    21. }
    22. router.static = function (path) {
    23. this.basepath = path
    24. }
    25. router.get = function (url, cb) {
    26. urls[url] = cb
    27. }
    28. router.basepath = __dirname + "/src"
    29. module.exports = router;

            controller.js文件:

    1. module.exports = {
    2. ajax1(req, res) {
    3. // 业务代码
    4. },
    5. ajax2() {
    6. // 业务代码
    7. },
    8. fn() {
    9. // 业务代码
    10. }
    11. }

  • 相关阅读:
    redis--重要知识点扫盲
    元宇宙大投资 & 元宇宙通证
    【OpenCV实现图像:OpenCV进行OCR字符分割】
    通达信交易接口
    132.【MySQL_进阶篇】
    1、广告-互联网展示广告发展史
    MATLAB小技巧(23)矩阵分析--模拟退火
    当我们的执行 java -jar xxx.jar 的时候底层到底做了什么?
    以下关于服务器控件的叙述中正确的是
    Python数值方法和可视化
  • 原文地址:https://blog.csdn.net/z_2532040197/article/details/126091151