Nodejs Awesome
tip
- 最好选择 TypeScript 开发的或支持 TypeScript 的
- TypeScript 的 decorator 比 Java 的 Annotation 弱得多
- 不支持获取字段实际类型信息 - 因为不存在这样的信息
Nodejs 后端开发不太活跃
最近一两年 (2020-2021),可能是因为 Go 和 Rust 的盛行,导致 Nodejs 的后端开发弱化了,很多项目开发都不太活跃。
DB
- sequelize/sequelize
- ORM
- Postgres, MySQL, MariaDB, SQLite, Microsoft SQL Server.
- 因为需要支持很多 DB 类型,丢失一定的特性
- knex/knex
- SQL Builder
- Composite - 解耦构建最终 query 的过程
- 对于基础的访问模式提供跨库支持
- ⚠️ 不支持 typescript 实体类型安全
- Postgres, MSSQL, MySQL, MariaDB, SQLite3, Oracle, Amazon Redshift
- Vincit/objection.js
- 🚧 开发停滞
- SQL-friendly ORM
- 基于 knex
- typeorm/typeorm
- 基于 typescript decoration 的 ORM
- 🚧 开发缓慢
- bookshelf/bookshelf
- 基于 knex 的 ORM
- 🚧 开发停止
Web
- fastify
- 🌟 推荐
- express
- koa
- 🚧 开发停滞
Server
Scraper
Browser Automation
- puppeteer/puppeteer
- Microsoft/playwright
- 统一 API 支持 Chromium, Firefox, WebKit
- matthewmueller/x-ray
- web scraper
- segmentio/nightmare
- 基于 Electron
工具
- shell