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 也是但是太丑了)。