1 kidonng 2021-11-28 12:15:49 +08:00 这几个都是很基础的需求吧,是个框架都有中间件支持。 非要说我会推荐 hapi + Joi 验证 + bissle 分页 |
2 kidonng 2021-11-28 12:21:21 +08:00 没注意要接 ORM ,那基本只有 Nest 可选了虽然并不简单易用(?) |
3 passer9527 2021-11-28 13:16:54 +08:00 via iPhone 这些功能大厂都是手写 sql ,不会用任何 orm 的东西 |
![]() | 4 dartabe 2021-11-28 13:16:58 +08:00 貌似大厂出来的都喜欢 Hapi 什么时候试试 |
![]() | 5 aristolochic 2021-11-28 13:23:41 +08:00 硬要说的话 Nodejs 或者说 Javascript 生态感觉就都不怎么擅长干这种元编程的事情,它的宏能力基本全靠社区实现的 acorn / Babel 之类的了。我找了好久都没找到和 Ruby on Rails 生态的 inherited_resources / responders 类似的东西。要说参数自动校验的话,JOI 肯定算一个,还有 Fastify 也鼓励开发者写参数校验(用的是 JSON Schema ),中间件也还算轻量。 至于说数据库执行,我认为都用 Javascript 了用一个比较正常的 Secure by Default 的 ORM 还是很必要的,没有特殊需要还是别手动生成 SQL 比较好。很久以前我用过 Sequelize ,不过现在的大一统选择或许是 Prisma 吧,尤其 Prisma 基于 Data Mapper 同时还靠 Schema 文件生成 Client 减少样板代码的设计,让受够 Sequelize 用 Active Record 模式的我十分喜欢(我觉得 Active Record 只有 Rails 这样提倡 Fat Model 的才合适,Sequelize 也是但是太丑了)。 |
6 lscho 2021-11-28 13:26:18 +08:00 很多框架都支持,如果让我选,我就选 ThinkJS ,写增删改查很快,感觉完美符合楼主要求。Logic 层配置一下验证方式就行了。 |
![]() | 7 mchl 2021-11-28 14:37:49 +08:00 via iPhone 感觉 Graphql 就是为了解决这种麻烦而诞生的,详搜 Apollo graphql |
![]() | 8 henryhu 2021-11-28 14:39:26 +08:00 strapi |
![]() | 9 slowgen 2021-11-28 15:04:26 +08:00 via Android directus ,不够可以在 hook 加一层自己的校验 |
![]() | 10 pengtdyd 2021-11-28 15:10:43 +08:00 ![]() express 老牌好用,资料多,用的人多 |
11 tousfun 2021-11-28 15:29:05 +08:00 via iPhone strapi +1 |
12 pendulum 2021-11-28 16:46:36 +08:00 推荐一个:Sequelize 。你说的验证、分页都支持,定义好模型就可以用了,不用接触 SQL 。 |
![]() | 13 Terry05 2021-11-28 18:28:15 +08:00 今年用了 nestjs + prisma 感受非常好 |
![]() | 14 guanhui07 2021-11-28 19:24:30 +08:00 via iPhone strapi |
![]() | 15 lodisy 2021-11-28 19:34:36 +08:00 via Android 同 nestjs + prisma |
![]() | 16 code4you 2021-11-28 19:45:04 +08:00 nestjs + prisma |
![]() | 17 dragonszy 2021-11-28 20:22:32 +08:00 strapi 或 feathersjs |
![]() | 18 lzgshsj 2021-11-28 20:30:50 +08:00 前段时间就是看的 nestjs 和 prisma ,api 部署到 vercel ,再配个 planetScale 的数据库服务,全部 serverless 化,还挺好玩的。 |
![]() | 19 codingBug 2021-11-28 20:56:45 +08:00 via Android 如果限定是 nodejs 的话,推荐 nestjs 。但是对前端来说并不容易。 |
![]() | 20 lemayi 2021-11-28 21:28:12 +08:00 推荐一下 adonisjs ,按照 Laravel 思路做的。会省很多时间。 |
![]() | 21 wanguorui123 2021-11-28 21:44:50 +08:00 手写个自动生成 SQL 的工具就可以了 |
![]() | 22 EPr2hh6LADQWqRVH 2021-11-28 22:59:50 +08:00 看了这个帖子我放心了,自家的几板斧依然领先。 LZ 说的这几个基本都到点子上了,本质上想要的就是 dto ,再加上周边的一些设施,声明式验证之类的。 唯一摸到门槛的就是 nest.js ,其他都在外面刮痧。 |
![]() | 23 theohateonion 2021-11-28 23:03:04 +08:00 nestjs 必须有一席之地 orm typeorm 和 prisma 都很香 crud 一把梭 |
![]() | 24 hutoer 2021-11-29 08:57:29 +08:00 上面好些个推荐 nestjs ,我觉得更多的是跟风,nestjs 搞得太复杂了,学着 spring 那套,但是比 spring 还烦琐。 其实 fastify + prisma 就很好:简单明了、心智负担低。 看看这里:www.prisma.io/fastify |
![]() | 25 duduaba 2021-11-29 10:08:09 +08:00 nestjs ,虽然分的比较细繁琐,但是只要写好一个模块其他的都可以复制粘贴了,越用越爽 |
![]() | 26 YUyu101 2021-11-29 10:40:27 +08:00 不管啥语言 crud 框架单表查询还行,复杂一点的连表很想死,不连表就只能多次查询,sql+orm 越用越难受,如果有重来的机会直接裸 mongodb 最适合 js ,复杂点的 mongo 查询相当于在写 ast ,但比起 sql 还是舒服点,至少我抽象和封装的对象直接是 ast ,而不是拼装字符串。 |
27 ChangJingli 2021-11-29 17:42:40 +08:00 fastify+sequelize |
![]() | 28 wangweiggsn 2021-11-29 18:04:37 +08:00 我能说我还是用 access 和 excel 在管理远程 sqlserver 么,感觉一点都不 fashion ,但真的好用,哈哈 |
![]() | 29 dany813 2021-11-30 10:07:35 +08:00 typeorm 老哥们都不推荐吗 |