CNode

asp.net mvc 风格的 nodejs mvc 大家觉得怎么样?(已发布)

Rruleechen发布于12 年前最后回复12 年前22 回复8210 浏览0 收藏

#asp.net mvc 风格的 nodejs mvc 我以前从事很多 asp.net mvc 的项目,最近开始用 nodejs,看了 express,很简单很好入手,但是感觉不够强大,也或许是因为我还没有完全掌握 express,不管怎么样,不过我就是很想能有一个更适合自己的 mvc 框架,但是一直找不到,于是我决定用闲暇时间写一个类似 asp.net mvc 风格的 nodejs mvc 框架。

将会使用一样的层次划分:Area -> Controller -> Action

这是一个 controller.js 的例子:

var mvc = require('xxxx/mvc');
mvc.controller(function(req, res, end) {

    this.action('index', function() {
        end.redirectToAction('test','home', { id: 1 });
    });

    this.action('test', function(id) {
        end.view({ id: id });
    });
});

有人感兴趣吗? 求提各种意见~~~~

#2014.8.18新增 我的 nodejs MVC 终于发布了,求大神们star,求大神们fork,求各位大神拍砖。 https://www.npmjs.org/package/cat-mvc https://github.com/jszoo/cat-mvc

查看回复

回复 (22)

R
ravenwang#1·12 年前

just do it

F
freew01f#2·12 年前

本身不就是这样吗

C
chenrihong#3·12 年前

express 就有mvc的感觉呀

J
jeremy16601#4·12 年前

赞起! 需要更多这样的大神 推动nodejs发展

L
lzyzsd#5·12 年前

没人推荐sails么,多好用的框架

R
ruleechen#6·12 年前
引用 ravenwang这效率这执行力,赞!

@ravenwang 谢谢,刚好这段时间项目有空档,比较有时间做自己的东西:)

R
ruleechen#7·12 年前
引用 Hi-Rube赞,计划做下贡献,等你把文档写好了,我把它翻译成中文 :D

@Hi-Rube OK太好了,代码都差不多了,文档很头痛,不好组织

R
ruleechen#8·12 年前
引用 slightboy我也有这个打算, 楼主已经做了啊

@slightboy 求试用看看,给提点意见或建议

R
ruleechen#9·12 年前
引用 jeremy16601赞起! 需要更多这样的大神 推动nodejs发展

@jeremy16601 nodejs我是刚接触,一起学习进步

R
ruleechen#10·12 年前
引用 lzyzsd没人推荐sails么,多好用的框架

@lzyzsd 不懂这个,来去看看 sails :)

R
ruleechen#11·12 年前
引用 freew01f本身不就是这样吗

@freew01f 诚然功能上表面上看差不多,但实际还是不一样的,

  1. asp.net风格的mvc依靠代码文件的分割,达到自动路由的功能,这个比起express中要定义一串的url pattern优雅。
  2. 自动的数据注入。你可以看到action方法上得参数,那是可以自动注入的(支持对象注入),比起express要从param里只能取字符串也更优雅+方便。
  3. 更直观的mvc结构。controllers+views+areas(可惜这里不能贴图,不然可以截图),而不是express routes+views,(express中 controller 和 route 绞在一起了)。
  4. 同一站点同时支持多种视图引擎。貌似express只支持一种,我的这个mvc计划会支持的。
  5. 更少的代码入侵。我会采用包装 nodejs 对象的方式,我看了express 的代码,基本是采用继承 nodejs 的对象,然后加了各种对象,各种方法,实在让人混淆,不知道哪个是原生的,哪个是express的,非常不利于学习和使用。
R
ruleechen#12·12 年前
引用 chenrihongexpress 就有mvc的感觉呀

@chenrihong 请看下我回复 @freew01f 的那个内容,简单对比了下 :)

R
ruleechen#13·12 年前
引用 ravenwangjust do it

@ravenwang 谢谢鼓励,已经开始做了 :)

J
jeremy16601#14·12 年前

koa 难道做的不够好?

R
ruleechen#15·12 年前
引用 jeremy16601koa 难道做的不够好?

@jeremy16601  谢谢你,我刚知道还有 koa,我以为只有 express, 囧了~

R
ruleechen#16·12 年前
引用 jeremy16601koa 难道做的不够好?

@jeremy16601 花了点时间看了下 koa 文档和简单瞄了下源码,确实是比 express 好很多,竟然也是 express 团队做的~~

  1. koa 使用的 yield 关键字实在太 cooool 了,相比之下的 callback 只要层次多了,真是不好控制。
  2. 就像我上面回复 @freew01f 的第 5 点那样,koa 不再使用继承 nodejs 对象了,也是采用包装,想法一致了 :)
  3. 代码层次清晰了很多,采用公开 hander 的方式来拦截处理原生请求,这一点也和我的想法一致了 :)
  4. 高度的简洁,没有加入其他中间件,没有路由,没有视图引擎等等必备的东西,这可能是它的优点也是缺点。
  5. 总的来说 koa 给我的感觉不错,应该还有其他我还没有发现的亮点。
F
freew01f#17·12 年前

哈哈 !同是KOA粉丝 看完KOA 我果断放弃ASP.NET MVC 看来express诱惑力不大

R
ruleechen#18·12 年前
引用 freew01f哈哈 !同是KOA粉丝 看完KOA 我果断放弃ASP.NET MVC 看来express诱惑力不大

@freew01f 总的来说koa真的不错,有很多值得学习的地方,不过koa目前比较像是个底层类库,不像框架,这给开发带来一定的麻烦

R
ruleechen#19·12 年前

我的 nodejs MVC 终于发布了,求大神们star,求大神们fork,求各位大神拍砖。 https://www.npmjs.org/package/cat-mvc

R
ravenwang#20·12 年前

这效率这执行力,赞!

H
Hi-Rube#21·12 年前

赞,计划做下贡献,等你把文档写好了,我把它翻译成中文 :D

S
slightboy#22·12 年前

我也有这个打算, 楼主已经做了啊

参与回复
登录后即可参与回复。登录