为什么

您最近是否开始了一个新的 Node.js API 项目?您是否使用了一些模板或从头开始项目?

我自己也在问同样的问题,并且我一直在寻找最小的样板文件。有很多选择,很难选择一个。

他们中的大多数使用 Express.js,其他使用 ES5 或缺少测试设置。

所以我决定自己造一个,以后再用。这是GitHub 上的 repo。

如何

我的设置具有以下特点:

API

  • 节点版本 10 或更高版本

  • TypeScript 原因很明显

  • Fastify 因为它的异步特性并且比 Express 或 Restify 更快

  • Nodemon 正在开发中,用于监视更改并重新启动服务器

数据

  • MongoDB 与 Mongoose

  • 用于 MongoDB 服务的 Docker

测试

  • 开玩笑说它是 Node 测试中的事实

  • 在内存中用于轻松模拟数据库的 Mongodb 服务器

  • 生成 Jest 报告后覆盖收集器的 Coverall

代码格式化和静态分析

  • ESLint 配置

  • 附加到 linter 的更漂亮的配置

  • 编辑器配置

文档

  • API 文档的 Swagger UI

  • 来自测试端点的 Postman 集合

CI

  • Travis CI 中的持续集成。脚步:

1.安装依赖

  1. 运行测试

  2. 收集覆盖范围并将其传递给 Coverall

就是这样!我希望它足够小。

请分享一些改进的想法。我想到了 API 版本控制,但 Fastify 似乎开箱即用地支持它。

API 密钥身份验证也是我正在考虑的事情,但是有很多可用的实现选项。如果您有什么想法,很乐意在评论中讨论。

快乐编码!

Logo

MongoDB社区为您提供最前沿的新闻资讯和知识内容

更多推荐