Nodejs mvc 风格类似asp.net mvc 大家觉得怎么样?(已发布)

Nodejs mvc 风格类似asp.net mvc 大家觉得怎么样?(已发布)

#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


13 回复

Node.js MVC风格类似ASP.NET MVC 大家觉得怎么样?

我之前参与过许多基于ASP.NET MVC的项目,最近开始尝试使用Node.js。我发现Express框架非常简单易上手,但它似乎缺少一些我想要的强大功能。也许是我还没有完全掌握它,但我确实希望有一个更符合我个人需求的MVC框架。因此,我决定利用业余时间来开发一个类似于ASP.NET MVC风格的Node.js MVC框架。

层次划分

这个框架将采用与ASP.NET MVC相同的层次划分方式:

  • Area(区域)
  • Controller(控制器)
  • Action(动作)

示例代码

以下是一个简单的controller.js示例代码,展示了如何定义一个控制器及其动作。

var mvc = require('cat-mvc'); // 假设我们正在使用名为'cat-mvc'的框架

mvc.controller(function(req, res, next) {

    this.action('index', function() {
        // 重定向到另一个动作
        next.redirectToAction('test', 'home', { id: 1 });
    });

    this.action('test', function(id) {
        // 渲染视图,并传递参数
        next.view({ id: id });
    });
});

解释

  • require('cat-mvc'): 引入了我们自己开发的cat-mvc框架。
  • mvc.controller(...): 定义了一个控制器,该控制器接收一个函数作为参数。这个函数内部通过this.action(...)来定义具体的动作。
  • next.redirectToAction(...): 这个方法用于重定向到另一个动作,参数包括动作名称、控制器名称以及可选的参数对象。
  • next.view(...): 这个方法用于渲染视图,并传递数据给视图进行显示。

反馈

如果你对这个项目感兴趣或有任何建议,请告诉我!我很乐意听取大家的意见和建议,以帮助改进和完善这个框架。

更新

我的Node.js MVC框架终于发布了,欢迎大家试用并提出宝贵意见!

希望这个框架能够为Node.js开发者带来便利,也期待更多的反馈和贡献!


just do it

本身不就是这样吗

express 就有mvc的感觉呀

koa 难道做的不够好?

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

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

这效率这执行力,赞!

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

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

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

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

关于Node.js的MVC风格框架,与ASP.NET MVC的对比和实现方式,这里提供一些基本思路和示例代码。

基本思路

在Node.js中,虽然Express已经非常流行且功能强大,但如果你想要一种更接近ASP.NET MVC的开发体验,可以考虑使用一些专门为Node.js设计的MVC框架。例如cat-mvc这个框架试图模仿ASP.NET MVC的风格,提供了类似于Area、Controller和Action的结构。

示例代码

假设我们正在构建一个简单的博客应用,并希望实现以下结构:

  • Area: Admin
  • Controller: PostController
  • Action: IndexDetail
// postController.js
var catMvc = require('cat-mvc');

catMvc.controller('Admin/PostController', function(req, res, next) {
    this.action('index', function() {
        // 这里处理首页逻辑
        res.render('admin/post/index', { posts: [] });
    });

    this.action('detail', function(id) {
        // 这里处理详情页逻辑
        res.render('admin/post/detail', { postId: id });
    });
});

在上面的例子中,我们定义了一个PostController,它包含两个动作:indexdetail。每个动作都会接收请求参数,并根据需求渲染不同的视图。

结论

Node.js社区中有许多优秀的MVC框架可以选择,如cat-mvc等,它们试图提供一种更熟悉的开发体验,尤其是对于那些来自ASP.NET背景的开发者。当然,这些框架的功能可能不如Express全面,但在某些场景下可能会更符合你的需求。

希望上述信息对你有所帮助!如果你有任何具体的需求或问题,欢迎继续探讨。

回到顶部