Node 为啥没有出现很完善的 MVC 之类的框架, Express 严格上来说不算框架吧

2017-03-06 10:36:11 +08:00
 admin2017
3069 次点击
所在节点    问与答
18 条回复
TakWolf
2017-03-06 10:40:05 +08:00
为啥不算, Express 是标准的 MVC 模式
srlp
2017-03-06 11:35:21 +08:00
楼主想要的是 django, ruby in rails 吧。

好像是没有类似的有名的东西。

不过同意楼上, express 标准 mvc ,只是没有更多的自动化。
crysislinux
2017-03-06 11:44:05 +08:00
可能用 node 一般重型的是出于提供 api 吧,一般的应用 express 也就可以用了。
感觉 node 更倾向于可替换的包吧,像 Django 这种多数时候没太多选择的。
xss
2017-03-06 12:52:26 +08:00
@TakWolf Express 并没有 MVC 的概念, 所谓的 MVC 只不过是人为在逻辑上强行划分出来的而已.
admin2017
2017-03-06 13:07:55 +08:00
@TakWolf
@xss 我觉得 Express 连框架都算不上,最多只是封装了底层的一些函数,更谈不上算是 MVC 框架了


@srlp 对, py 有 django 之类, ruby 有 ror , php 有 laravel 之类,连 go 都有类似的,为啥 node 没有呢


@crysislinux 我也觉得 Express 之类提供 API 挺合适的,但是应该也有人会有需求做其它啊,这个时候类似 django 之类的 mvc ( 虽然 django 自称是 mtv ) 框架不是更合适么 =,=
xss
2017-03-06 13:11:24 +08:00
@admin2017 你都说了封装了, 那自然就是框架喽. 不然, 你心目中框架应该是怎么定义的...?Express 的确不是 MVC 框架.
denghongcai
2017-03-06 13:20:41 +08:00
Sails
admin2017
2017-03-06 13:35:15 +08:00
@denghongcai 感谢,貌似已经讨论过 node 框架的问题了 https://www.v2ex.com/t/248799 之前没搜到 (*@ο@*)
ETiV
2017-03-06 13:37:47 +08:00
sails meteor 算不算
acthtml
2017-03-06 13:41:54 +08:00
express 、 koa 更加倾向于类库,框架类的有 sails,thinkjs
SharkIng
2017-03-06 14:03:35 +08:00
Sails 算,不过说实话 Sail 的确不怎么好用。
还是 Express 好用,而且很多人已经习惯而且已经自己开发出来一些基于 Express 和 Angular 之类的“框架”了

如果硬是想要的,有个 MEAN Stack 的也不错,是基于 Express, Mongo, Angular, Node (MEAN) 的,而且还有两个,基本应该可以满足 LZ 需要的 ROR, Laravel 的需求。
viko16
2017-03-06 14:17:05 +08:00
无责任安利 https://eggjs.org/
murmur
2017-03-06 14:22:42 +08:00
m 层被淡化 v 层任何一个模板引擎都实现的了 c 层是留给你自己写的
你是喜欢 java 那种所有 bean 强类型和数据表一一映射的么
admin2017
2017-03-06 20:48:04 +08:00
@xss
@acthtml 对,我认为 Express 更倾向于类库

@ETiV
@SharkIng 算,参见#7 链接中还有好几个

@viko16 感谢

@murmur mvc 框架至少会实现自动路由吧,然而 Express 并没有啊。反而是 m 层有第三方的包可以引入用
murmur
2017-03-06 21:30:22 +08:00
@admin2017 springmvc 还不是手写路由。。一个写成 app.get/post ,一个写到注解上,这不挺好的么

有时候那种全自动的 路由反倒不好,以前有一个类似 玄学的东西,就是把一个语言写的“不像”这个语言,比如某些 有特别爱好的,所有的 action 后缀都是.htm 。。
admin2017
2017-03-07 09:46:53 +08:00
@murmur 后缀这个应该是有安全考虑吧 , spring 写到了注解里,但是 laravel 之类并没有啊,这样全自动匹配虽然效率会弱于这些,但是可读性还是挺好的。如果想不走全匹配,也可以显式的去写正则路由,类似 django 的做法,单独把路由层给提取出来,这样更简洁易读啊
SharkIng
2017-03-07 14:45:28 +08:00
@admin2017 #14 不知道 LZ 有没有兴趣比较下然后回来反馈↓哪个比较好用哪个比较像 ROR,Laravel 等这样的
admin2017
2017-03-07 20:42:18 +08:00
@SharkIng 可以,后期会出一篇详细的评测 ╰(*°▽°*)╯

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/345223

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX