尝试 Node 搭建一个后端
昨天前脚花了“大力气”去了解事件循环、动态语言的内存管理难题后脚立马来活儿了。这活儿也不难就是一个简单的后端服务。包一个 Azure 的文件上传接口以及调用 Lark 多维表格的 WebHook。我“需要考虑下后面的维护与集成吗还是说简单弄弄”老板“先简单弄弄吧”我一想这不就正正好好嘛~花了一小时弄除了个 Node 后端。为了让以后搭建这种项目能更方便点儿我就把这个项目的依赖和结构简单整理了一下。运行时的环境和开发时环境配置运行时的环境肯定是用 Node。不过考虑到还需要部署我又添加了一个 PM2 相关的部署脚本。开发时的环境我使用的 Bun。之前调研过发现JS生态中的 包管理、formatter、linter、tester、构建等过程都是分散的每个环节都是一个单独的模块认知量比较大。为了降低认知量我直接使用 Bun。bun 本身可以解决 包管理、构建、测试再搭配一个 Biome 解决 formatter、linter 即可满足我的需求。Web框架和类型安全我这里采用的 Fastify、TypeScript。同样是为了减轻认知负担Fastify 比 Express 更轻量更新社区比较活跃。TypeScript 比较好的一点是可以设置强制的类型校验如果设置好了linter基本上写出的代码还是比较好懂AI更容易懂,后面也可以通过静态代码走读找到基础的字段缺失、类型错误等问题而不一定必须要运行才能找到错误。