express 与 mvc

听人介绍,说express.js是一个for nodejs的mvc框架。

既然是MVC,那么,express里面,什么是M,什么是V,又什么是C?

C,很容易看出来,就是路由。express的路由机制,app.get()、app.post、app.all。。。

V呢?当我们用 express初始化一个空的文件夹时,它会帮我们生成一系列子文件夹:

2014/12/09  22:58    <DIR>          .
2014/12/09  22:58    <DIR>          ..
2014/12/09  22:58             1,478 app.js
2014/12/09  22:58    <DIR>          bin
2014/12/09  22:58               327 package.json
2014/12/09  22:58    <DIR>          public
2014/12/09  22:58    <DIR>          routes
2014/12/09  22:58    <DIR>          views

其中,views顾名思义,就是存放视图的。里面有些*.jade文件,就是jade模板文件。所以,这个就是V了。

M呢?在哪?

从文件夹中看不出来。不过我猜,

var user = require("./user");

然后在user.js

var users = function (req,res){

   this.name = "zhang3";

  this.sex = "male";

this.age = 40;

}

module.exports = users;

这种机制,就是m了。当然,如果user.js里有涉及到数据库操作,就可以更加肯定了。是吗?


express只是服务器端的MVC框架。前端也有所谓MVC框架,比如blackbone。

你可能感兴趣的:(express 与 mvc)