52合1Node.js 最佳实践大合集

Posted Node地下铁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了52合1Node.js 最佳实践大合集相关的知识,希望对你有一定的参考价值。

Node.js 地下铁发过很多篇「最佳实践」,今天这篇可能是字数最多的。


Yoni Goldberg 主理的 i0natan/nodebestpractices(github repo) 应该 (maybe) 是地球上最大的一份 Node.js 最佳实践合集,包含了关于项目目录、错误处理、编码风格、测试和代码质量、生产环境 5 个领域的 52 篇最佳实践,并计划覆盖安全和性能领域的最佳实践。


每一条最佳实践分为 4 部分:


  • 标题

  • TL; DR 部分简洁地概括这条最佳实践

  • Otherwise 部分描述了不应用这条最佳实践可能带来的糟糕影响

  • Readmore 部分详细描述最佳实践,包括代码实例以及转述的观点等等


下面列举了一些最佳实践点,看看有没有你感兴趣的:


  • 按照模块进行组织,而不是按照 controller/model 等技术角色来组织

  • 对模块进行分层,例如对 web 请求,业务逻辑,数据存取等操作进行分层

  • 使用 async-await/promise 来处理异步错误

  • 使用原生错误对象而不是字符串

  • 区分运行时错误和编码错误

  • 集中进行错误处理,但不要在中间件里面处理

  • 在 API 文档中描述错误处理

  • 遇到未知错误时优雅退出进程

  • 单测要覆盖异常流程

  • 使用应用管理软件监控异常和不可用状态

  • 快速失败(Fail fast)

  • 使用 ESLint

  • 优先使用 const,然后是 let,抛弃 var

  • 不要在函数中 require

  • require 目录,而不要 require 文件,通过 index.js 定义需要暴露的接口

  • 使用 async/await

  • ...


请点击下方的「阅读原文」,查看完整的 52 合一版 Node.js 最佳实践大合集。


以上是关于52合1Node.js 最佳实践大合集的主要内容,如果未能解决你的问题,请参考以下文章

第513期Canvas 最佳实践(性能篇)

升级 Django 版本:最佳实践

Spark 大数据处理最佳实践

Gulp 结构化最佳实践

DevOps最佳实践8大高招

开源大数据 OLAP 引擎最佳实践