想做个小东西,也就写一些接口,不知道现在还流不流行 express 和 koa 了

1 ran1ever Jan 13, 2020 Mark 一哈 我也准备搞搞这个 |
2 TomatoYuyuko Jan 13, 2020 之前面过的几家打听都是 koa,不知道是不是偏差 |
3 ares586 Jan 13, 2020 我个人站用的是 koa2,现在培训班也讲 egg.js |
4 baleeny Jan 13, 2020 流行吧,我们公司还是 express |
5 lotosbin Jan 13, 2020 |
6 banchen Jan 13, 2020 egg,midway |
7 johnnyNg Jan 13, 2020 nestjs |
8 catoncat Jan 13, 2020 |
9 leeggco Jan 13, 2020 express |
10 enjoyCoding Jan 13, 2020 express koa egg |
11 Cbdy Jan 13, 2020 via Android express |
12 fivelonglong Jan 13, 2020 egg.js |
13 NasirQ Jan 13, 2020 egg 吧...大厂维护比较好些 |
14 birjemin Jan 13, 2020 egg.js 吧,大厂后面好乘凉,如果选用国外的也行,遇到问题,看你英文水平了。 |
15 Colorful Jan 13, 2020 我最近在用 loopback,觉得还不错。 |
16 coconut5 Jan 13, 2020 koa2 |
17 PixelMage Jan 13, 2020 必须 nest,你对比一下 egg nest 等框架的星数就知道了。 |
18 lookas2001 Jan 13, 2020 via Android egg (koa) |
19 ethusdt Jan 13, 2020 restify |
20 mytharcher Jan 13, 2020 一直在用 express,其实比较想迁移到 koa 的,毕竟多了原生异步中间件和更自由执行中间件顺序的特性,但想想其实大多数情况这个特性也没那么必要,除此以外 (req, res, next) 和 ({ req, res }) 真没多大区别。据说 express v5 以后也会原生支持异步中间件,只是 tj 大神离开 Node.js 社区后一直是 alpha 版不知道什么时候升。另外就是我一直懒得写一个 koa 下和 https://github.com/mytharcher/rainbow 一样好用的路由自动配置中间件,所以就一直没迁。 也看过 eggjs 和 nestjs,不想用的原因还是一样,实在不想这么麻烦的定义 controller 和路由,我个人认为天生这俩东西就应该绑定到一起,没必要写 controller 的时候还要再去定义一次路径,否则每次要找定义了什么路径还要去文件里面找。 其实还是因为 express 本身足够灵活,ORM 层 sequelize 也比较成熟了,所以针对很多简单的 RESTful 应用,最重要的就是设计好数据库,其他常用的东西简单封装一下就能用了,完全没有那么麻烦。尤其是如果对 RESTful 理解比较深的话,总是能总结出一些统一的设计范式,自然的就形成约定了。比如我们团队写了好几个 Node.js 后端项目之后,逐渐的就总结出一些常规且固定的用法,形成了一套针对 express 的基础扩展包 https://github.com/mytharcher/express-utils。这里其实已经无关 express 还是 koa 了,主要看你们团队对于数据库设计和接口设计的理解,形成统一的规范就用什么都行。最后估计到某一天我也会按我们现有的方式把我们的扩展包进化成完整约定的另一套框架吧,哈哈。 |
21 janxin Jan 13, 2020 nestjs 推荐一下 |
22 mytharcher Jan 13, 2020 |
23 xlh001 Jan 13, 2020 egg |
24 IamUNICODE Jan 13, 2020 express,koa 只用过 1,egg 也不错 |
25 CaanDoll Jan 13, 2020 js egg |
26 CaanDoll Jan 13, 2020 ts nest |
27 Liutos Jan 13, 2020 egg-js |
28 iugo Jan 13, 2020 我们以前用 koa2, 现在使用函数云如 AWS Lambda, 就不用框架了. 框架只是给个规范, 如果团队已经形成一套规范, 框架什么的就很随意了. 当然, 库是肯定要用的. |
29 tonyleen Jan 13, 2020 restify |
30 kayv Jan 13, 2020 必须 ts nest,一本正经的后端 |
31 noobma Jan 13, 2020 nestjs |
32 acthtml Jan 13, 2020 express, koa 只能算是类库,eggjs 算是框架。 |
33 heasy Jan 13, 2020 国内的话推荐 eggjs,国外的话推荐 nestjs |
34 lemon6 Jan 13, 2020 koa2 |
&bsp; 35 SaintSeiya OP @mytharcher 多谢老哥 |
36 lihongming Jan 13, 2020 老外已经开始流行 serverless 了,可惜 AWS 进不了中国 |
37 liangfengbo Jan 13, 2020 用 koa2 写了个学习项目: https://github.com/LFB/nodejs-koa-blog 欢迎一起学习~ |
38 npm Jan 13, 2020 推荐 egg.js |
39 MYDTX Jan 13, 2020 ts |
40 ericls Jan 13, 2020 via iPhone 最近用 net 写了一个 挺好用 |
41 shakaraka PRO nestjs |
42 MrBrand Jan 13, 2020 我的博客服务端用的 koa2 准备用 nestjs 改造下,主要是想学习使用 ts 哈哈 |
43 lizheming Jan 13, 2020 @mytharcher 可以考虑下 ThinkJS,基于 Koa2 的,文件即路由 ~ |
44 kidult Jan 13, 2020 推荐 nestjs,感觉还是在写 java .. |
45 nianyu Jan 13, 2020 只推荐 nest 或者轻量级的 express . egg 什么的一边去吧 |
46 hillwall Jan 13, 2020 nest,ts 一把梭 |
47 iYoloyolo Jan 13, 2020 daruk 试一试 |
48 jiangzm Jan 13, 2020 轻量一点的 koa 和 express,别用 egg |
49 wangyzj Jan 13, 2020 koa2 不喜欢 egg 那种大集合 |
50 zy445566 Jan 13, 2020 果断 koa2,自己想怎么改就怎么改 |
51 tao1991123 Jan 13, 2020 eggjs |
52 wee911 Jan 13, 2020 nest.js 必须这个 |
53 WittBulter Jan 13, 2020 1. Express 生态圈比较成熟,可用的中间件和设施也是最多的,但是比较臃肿而且最佳实践见仁见智,算是个比较中庸的选择。大家也比较熟就不多说了。 2. Koa2 是我比较喜欢的设计理念,相对小巧,算是只有主菜,套餐自由组合。值得一提的是很多时候不需要那么多中间件比如在微服务或是 Serverless 上写东西更值得推荐,自由度很高。可惜社区太薄弱,参与贡献的人很少,很多设施更新很慢。如果你有一些很酷的想法或者想为 NodeJS HTTP 框架添加一些东西,为这款源码简短的框架写周边服务是再好不过的了。 3. Fastify 是在性能上更优秀的库。我只在写一些极小的逻辑时才会用,基本只会在 Serverless 上使用。不过它的设计很巧妙,源码可以多读,给了我很大启发。它性能真的很高(作为 http 服务来说),如果你很看重性能可以尝试。 4. Sails 是我早期在项目中用过最多的框架。Sails 是仿造 Rails 的 NodeJS 实现,总体来说算是实现了 Rails 的大部分设计,风格上保持主厨精选和约定优于配置,在这个框架下工作会非常的省心,效率非常高且优雅。缺陷也很明显:`waterline` 速度被人诟病已久,而且优于要做很多活所以性能较差,但大约和 Express 处于一个量级。很多地方源码的实现很脏,和 TS 结合不算友好,近年来的更新有些慢。如果你喜欢 magic 喜欢 ruby 风格可以试试。 5. NestJS 本质上是一个更加全面的 routing-controller,设计上也大幅度借鉴了 Angular 和 routing-controller,不过只是一个骨架,可以结合 Express 或 Fastify,算是目前和 TS 结合的最好的框架。缺陷还是在 TS 的 ORM 数据验证这一块,由于没有自己实现所以推荐了 routing-controller 作者写的 class-validate,这个库的更新很慢而且问题比较多而且使用起来堆栈很高不是很理想,另外此框架是 IoC 类型所以代码量稍高,不过如果你喜欢大而全喜欢 TS 又喜欢写测试,这个框架是最推荐使用的。 6. zeit/micro 是我见过 NodeJS 中最微型 Http 库,麻雀虽小五脏俱全,也受到很多人的热捧。非常推荐在微服务中使用,以前是 zeit 在 Serverless 上的首选,现在优于 now 的发展当然不需要了,也一直是我的最爱,代码量极低、小巧、高性能、设计优雅。社区有不少与此相关的周边库,作者也更新的快,非常值得信赖。不足的地方是文档少 (功能少所以文档少),如果没有一定的 NodeJS 基础会有些云里雾里。 7. Hapi、Restify 等等这几个是我比较讨厌的,就不细说了,免得它们又有新用户。 综合评价: 性能偏执压测之子请选择 Fastify, 宗教信徒快乐编程请选择 Sails, 大道至简高人雅士请选择 zeit/micro, 社区中坚力求变法请选择 Koa2, 遵循法度统筹兼顾请选择 NestJS, 以上都不是没有特别喜好请选择 Express。 |
54 fsdrw08 Jan 13, 2020 via Android nestjs,只用过这个,搭配 angular 使用很省心 |
55 SaintSeiya OP @WittBulter 可以的老哥,多谢建议 |
56 Rorysky Jan 13, 2020 nest nust next |
57 jprovim Jan 14, 2020 |
58 hantsy Jan 14, 2020 中庸的角度,Express 是首选,生态圈成熟,各种需要的东西都能找到,自己装配。 快捷的,面向企业程序,Microservice:Nestjs,loopback,功能全面,拿来就用。 |
59 codz Jan 14, 2020 mark,学习. nestjs 待学. |
60 chrunlee Jan 16, 2020 没人用 thinkjs 么? |
61 meijie Jan 17, 2020 @mytharcher 赞 |
62 meijie Jan 17, 2020 @WittBulter 赞 |
63 seandor Jan 19, 2020 没人用 graphql 吗 |
64 yafoo Jan 20, 2020 via Android iijs,我正在开发一个自己的 mvc 框架 |