想把个人网站的后端换成 Node,但是对两个框架犹豫不决,哪个综合来看好点呢?或者企业用的比较多的是哪个?
1
MicroPan 2019-04-24 16:37:10 +08:00
推荐 egg
|
2
UIXX 2019-04-24 16:39:39 +08:00
这个问题就相当于你去买电脑,问是买带外设的套装电脑好还是不带外设的独立主机好。
express 跟 koa 在性能上并没有什么区别,只是在软件工程上面有着它们的设计倾向。 一个是大而全,省事。一个是小而精,定制化容易。 对于个人网站来说,两个都一样。 |
3
polun 2019-04-24 16:40:18 +08:00
会哪个用哪个;
如果都不会,随便挑一个; 如果都会,你应该自己可以决定。 |
4
johnnyNg 2019-04-24 16:43:06 +08:00
nestjs 吧,基于 express,
|
5
whypool 2019-04-24 16:57:46 +08:00
nuxt
|
6
tao1991123 2019-04-24 17:01:15 +08:00
eggjs
|
7
tao1991123 2019-04-24 17:01:46 +08:00
喜欢 Typescript 和类 java 的依赖注入的话 试试 midwayjs
|
9
Blackricky 2019-04-24 17:04:43 +08:00 1
忘了在哪看到这句话了: express 全 fastify 快 nest.js 稳
|
10
fakeshadow 2019-04-24 17:07:10 +08:00
我觉得 fastify 蛮好用的
|
11
kzfile 2019-04-24 17:08:54 +08:00
曾经用 koa,现在直接 express,直接用现成的也没什么问题
|
12
Karpov 2019-04-24 17:13:37 +08:00
用过 express 还行。我反正是抄 real-world 的。node 后端它只有这么一种实现。
|
13
MrCard OP 看了大家的回复更想哭了。。。
|
14
251243021 2019-04-24 17:17:40 +08:00
以前用 koa.觉得精简.后来出了 koa-router 时间.发现生态真心不能等.重新回到 express.发现都那样.如果喜欢 ts 都可以直接上 nest.js
|
15
meteor957 2019-04-24 17:19:46 +08:00
nest 可以看看
|
16
des 2019-04-24 17:24:59 +08:00
推荐 nest
|
17
des 2019-04-24 17:27:06 +08:00
个人网站啊,那随意
|
18
1KN6sAqR0a57no6s 2019-04-24 17:29:23 +08:00
http 和 net 选一个
|
19
zander1024 2019-04-24 18:06:41 +08:00
随便都一回事,要我建议别用 node
|
20
66beta 2019-04-24 18:24:17 +08:00 via Android
个人网站干什么的,静态 blog 系统满足不了吗?
|
21
WittBulter 2019-04-24 18:32:41 +08:00
@tao1991123 喜欢注入风格不妨看看我整理的这个 Guide: https://github.com/WittBulter/koa2-typescript-guide
|
22
guiling 2019-04-24 18:57:40 +08:00 via Android
就你说的这两个的话用 express,node 早就支持 promise 了,其他跟 koa 没啥区别,就多几个内置中间件
|
23
dr2009 2019-04-24 19:37:37 +08:00
nest/egg
|
24
Nasei 2019-04-24 19:47:37 +08:00
我记得我还上学的时候, 学 node, 当时就有这俩框架了, 然后当时的教程说 koa 是新的, 要替代 express ... 看起来过了几年这事没实现啊
|
25
stellar 2019-04-24 22:27:52 +08:00 via iPhone
fastify
|
26
laogui 2019-04-24 23:15:40 +08:00 via Android
nest 实在太优雅了,强烈推荐。
|
27
Sparetire 2019-04-25 01:32:28 +08:00 via Android
fastify,或者 nest+fastify
|
28
viko16 2019-04-25 01:42:05 +08:00 via Android
投 eggjs
|
29
tyrealgray 2019-04-25 01:50:26 +08:00 via Android
Fastify 现在号称是最快的 nodejs 框架
|
30
version 2019-04-25 02:10:07 +08:00 2
写了 3 年的 nodejs
我推荐还是 koa 大系统用 Fastify. 别学 ts 语法 写无状态服务用 koa 以后都是云函数服务 然后写代码别 mvc 架构.多用 api Gateway 写法.也利于分部署部署 别加载太多各种依赖..一个简单的 http 服务不需要那么多东西.. 处理好异常.数据库连接.那些就基本够了. 如果这些都懂了..学门其它语言吧 nodejs 不适合高并发业务.做做后台管理系统 api 还可以.不过普通小企业还是很适合的.创业公司.有钱和谐微服务转 go |
31
chengluyu 2019-04-25 02:41:02 +08:00
果断 fastify,带验证可以避免很多错误
|
32
wee911 2019-04-25 07:15:20 +08:00
nest
|
33
kethylar 2019-04-25 07:51:23 +08:00 via Android
https://2018.stateofjs.com/back-end-frameworks/overview/
为啥没人推荐 nextjs(不是 nestjs),谁能解解惑吗 |
34
smallX 2019-04-25 08:12:49 +08:00 via Android
果断上 go
|
35
crazyrock 2019-04-25 08:35:09 +08:00
越看越不靠谱。还有让转 Go 的
|
38
FakeLeung 2019-04-25 09:10:51 +08:00
|
39
GiantHard 2019-04-25 09:35:22 +08:00
写过 eggjs 之后,感觉还是 nest 比较适合我
|
40
mingsz 2019-04-25 09:42:43 +08:00
koa
|
41
ilaipi 2019-04-25 09:55:13 +08:00
看了大家的回复,有点想试试 nest 了,但是看了一眼,优先 ts,感觉有点难以接受。我是不打算写 ts,不然当初也没必要从 java 转过来 node。有用 nest 不用 ts 的吗?
|
42
nineyang 2019-04-25 10:02:03 +08:00
没人推荐 sails 么
|
43
nigelvon 2019-04-25 10:06:03 +08:00
长期维护的项目还是推荐基于 ts 的比如 nest,短期一次性项目 koa 吧。express 的中间件不是洋葱圈有点难受。
|
44
thomaspaine 2019-04-25 10:18:06 +08:00
@nineyang 看了下,感觉不灵活啊,还是 nestjs 好点
|
45
Justin13 2019-04-25 10:37:55 +08:00 via Android
koa2 啊
|
46
thonatos 2019-04-25 10:55:58 +08:00
这种问题最好的解法就是:都用一遍,哪个顺手用哪个。
当然,我个人推荐 Egg.js ,什么依赖注入啊,不太感冒,没法儿,谁让我是 Java 黑呢 |
47
cuzfinal 2019-04-25 11:12:40 +08:00
用 nest
|
48
CodingNaux 2019-04-25 12:35:37 +08:00 via iPhone
不选 node
|
49
version 2019-04-25 14:47:05 +08:00
@guiling 例如订单和数据库相关的事务方面的.nodejs 不适合做业务核心高并发的....做做分发前端渲染那些还可以.
|
50
winnie2012 2019-04-25 14:49:59 +08:00
fastify
|
51
version 2019-04-25 14:52:28 +08:00
@ilaipi 我也是 java 转 nodejs 也有 3 年了..nodejs 优势是比 java 强太多了...这样说可能很多人不爽我..不过我外包或者普通 crud 基本也是 nodejs 写的了..包括小游戏..普通接口压力.nodejs 还是很个给力的..一个没经验的 java 写的并发或者普通企业写的接口可能差过我 nodejs....现在 nodejs 对于大数据处理还是瓶颈很大..我 nodejs 原生+es6 我觉得非常完美的方案了..高并发核心模块用 rpc 转 go 来写..
go 也是下一个趋势了.省内存.快捷..java 就算了.都是吹 ppt 的.我见多了.实际业务代码能力差的很..我对国人写 java 很伤心了. |
52
ilaipi 2019-04-25 15:06:24 +08:00
@version #51 握爪,我也是差不多 15 年转 node 的,现在公司项目全线 node。模块化拆分,独立发布我觉得都很方便了。
go 目前还用不上,以后再说。 我觉得确实是存在一批能力很差的生存在底层的程序员,业务代码能力非常差。 不过 java 也有点优势。比如我们最近项目 mq 选型选了 rocketmq,买了阿里的服务,结果只有 java 的客户端比较完善,node 的客户端一塌糊涂,并且没有进展,绝望.jpg |
53
puilu 2019-04-25 15:17:42 +08:00
express 稳一点吧,那些口口声声要代替 express 的至今感觉都有气无力了。
|
54
kingterrors 2019-04-25 15:48:29 +08:00
看样子没人用 hapi。。
我公司项目都是 eggjs。基于 koa 封装的,比较容易上手。 个人的话,我觉得随便哪个都行吧,看哪个 logo 好看就用哪个哈哈哈。 |
55
marsgt 2019-04-25 15:53:16 +08:00
印象里《 Node 实战》里有基础框架的横向对比,讲选型策略的时候给了些建议都挺实用
|
56
version 2019-04-25 16:16:06 +08:00
@ilaipi 消息队列的还好..有 http 协议就自己封装一个 sdk 单例使用..我觉得就够了..如果不是特别多业务的.可以自己 redis 写.
麻烦的是走 socket 协议的一些 rpc 断连就会出事.又或者重复发送. |
57
version 2019-04-25 16:20:12 +08:00
@kingterrors egg 是 kpi 的产物..看看他们的代码就好..
自己用就还是自己搭建一个就够了.其实写个接口服务.不需要那么多东西的... hapi 就非常垃圾了.整一个 mvc 的做法.弄一套自己的标准..背离了用 nodejs 特性的初衷.. 写无服务的模块化才是未来的发展.哪个不爽重写就好.不用担心其它代码依赖 |
58
ilaipi 2019-04-25 16:23:51 +08:00
@version #57 选 rocketmq 的原因主要是因为有延迟消息的功能。我们的业务场景里有很多需要一定时间后触发的。不想搞任务系统,我就想用 mq 来实现。
|
59
ilaipi 2019-04-25 16:25:07 +08:00
@kingterrors #54 koa 和 express 貌似 log 都是需要自己加载中间件的
|
60
Gea 2019-04-25 16:26:56 +08:00
nest
|
61
busfool 2019-04-25 17:47:05 +08:00
只用过 express
|
62
ngloom 2019-04-25 17:51:29 +08:00
adonisjs...
|
63
kingterrors 2019-04-25 21:24:10 +08:00
@ilaipi 所以我选择了 eggjs,封装好了很多,还能接入阿里云的 node 监控方便啦
|
64
kingterrors 2019-04-25 21:27:07 +08:00
@version 哈哈,所以 hapi 我就用于自己测试瞎折腾,我是个好奇心重的人,一有啥新东西就想试试看看有没有什么惊奇的发现~~~
用于生产环境我一般都是 eggjs,之前自己用 koa2 从 0 手工一步步搭起来,项目跑通了各种毛病,然后领导说你咋不用 eggjs,我就重构成 eggjs 了,因为,我开发时间也是比较紧张的。nodejs 开发经验不足的情况下在工作中也不敢瞎折腾了= =! |
65
OSF2E 2019-04-25 21:31:00 +08:00
|
66
version 2019-04-26 02:04:38 +08:00
@kingterrors 其实 eggjs 也没很多东西.基本封装个 class 都全了..不过要看自己经验了.. 阿里云 node 监控还是少用..性能比较低..它改了 nodejs 的底层..而且版本升级太慢...如果你要集群部署..用原生的好+es6 不要加其它编译了.
nodejs 新版本启动基本也就 50m.压测后.gc 后也稳定 100m 的状态 |
67
cl903254852 2019-04-27 17:25:29 +08:00
如果是新手 建议 Koa2,如果不是新手,建议 Nest
|
68
UniKylin 2019-05-05 15:46:30 +08:00
推荐用 egg 吧
|
69
chenhui7373 2019-05-20 11:06:07 +08:00
|
70
dhswg20077 2020-09-28 11:10:58 +08:00
个人网站还是 hugo 省心。。
|