Node.js 最佳实践
首页 白天 夜间 BookChat 小程序 小程序 下载 阅读记录
  • 书签 我的书签
  • 添加书签 添加书签 移除书签 移除书签

1.2 分层设计组件,保持Express在特定的区域

来源 goldbergyoni 浏览 3 扫码 打印 2026-10-24 16:57:41
  • 1.2 分层设计组件,保持Express在特定的区域
    • 应用程序分层,保持Express在其边界内
      • 将组件代码分成web, services, DAL层
      • 1分钟说明:混合层的缺点

1.2 分层设计组件,保持Express在特定的区域

应用程序分层,保持Express在其边界内

将组件代码分成web, services, DAL层

alt text

1分钟说明:混合层的缺点

alt text

上一篇:
下一篇:
  • 书签
  • 添加书签 移除书签
  • Node.js 最佳实践
  • 1. 项目结构实践
    • 1.1 组件式构建你的解决方案
    • 1.2 分层设计组件,保持Express在特定的区域
    • 1.3 封装公共模块成为NPM的包
    • 1.4 分离 Express ‘app’ and ‘server’
    • 1.5 使用易于设置环境变量,安全和分级的配置
  • 2. 错误处理最佳实践
    • 2.1 使用 Async-Await 和 promises 用于异步错误处理
    • 2.2 仅使用内建的错误对象
    • 2.3 区分运行错误和程序设计错误
    • 2.4 集中处理错误,不要在Express中间件中处理错误
    • 2.5 对API错误使用Swagger文档化
    • 2.6 当一个特殊的情况产生,停掉服务是得体的
    • 2.7 使用一个成熟的日志工具提高错误的可见性
    • 2.8 使用你最喜欢的测试框架测试错误流
    • 2.9 使用APM产品发现错误和宕机时间
    • 2.10 捕获未处理的promise rejections
    • 2.11 快速查错,验证参数使用一个专门的库
  • 3. 编码风格实践
    • 3.1 使用ESLint
    • 3.2 Node.js特定的插件
    • 3.3 在同一行开始一个代码块的大括号
    • 3.4 不要忘记分号
    • 3.5 命名您的方法
    • 3.6 变量、常量、函数和类的命名约定
    • 3.7 使用const优于let,废弃var
    • 3.8 先require, 而不是在方法内部
    • 3.9 require 文件夹,而不是文件
    • 3.10 使用 === 操作符
    • 3.11 使用 Async Await, 避免回调
    • 3.12 使用 (=>) 箭头函数
  • 4. 测试和总体的质量实践
    • 4.1 至少,编写API(组件)测试
    • 4.2 使用一个linter检测代码问题
    • 4.3 仔细挑选您的持续集成(CI)平台
    • 4.4 经常检查易受攻击的依赖
    • 4.5 测试标签化
    • 4.6 检查测试覆盖率,它有助于识别错误的测试模式
    • 4.7 检查过期的依赖包
    • 4.8 对于e2e testing,使用docker-compose
  • 5. 上线实践
    • 5.1. 监控
    • 5.2. 使用智能日志增加透明度
    • 5.3. 委托可能的一切(例如:gzip,SSL)给反向代理
    • 5.4. 锁住依赖
    • 5.5. 使用正确的工具保护进程正常运行
    • 5.6. 利用CPU多核
    • 5.7. 创建一个“维护端点”
    • 5.8. 使用APM产品发现错误和宕机时间
    • 5.9. 使您的代码保持生产环境就绪
    • 5.10. 测量和保护内存使用
    • 5.11. Node外管理您的前端资源
    • 5.12. 保持无状态,几乎每天都要停下服务器
    • 5.13. 使用自动检测漏洞的工具
    • 5.14. 在每一个log语句中指明 ‘TransactionId’
    • 5.15. 设置NODE_ENV=production
  • 6. 安全最佳实践
    • 6.1. 拥护linter安全准则
    • 6.2. 使用中间件限制并发请求
    • 6.3 把机密信息从配置文件中抽离出来,或者使用包对其加密
    • 6.4. 使用 ORM/ODM 库防止查询注入漏洞
    • 6.5. 通用安全最佳实际集合
    • 6.6. 调整 HTTP 响应头以加强安全性
    • 6.7. 经常自动检查易受攻击的依赖库
    • 6.8. 避免使用Node.js的crypto库处理密码,使用Bcrypt
    • 6.9. 转义 HTML、JS 和 CSS 输出
    • 6.10. 验证传入的JSON schemas
    • 6.11. 支持黑名单的JWT
    • 6.12. 限制每个用户允许的登录请求
    • 6.13. 使用非root用户运行Node.js
    • 6.14. 使用反向代理或中间件限制负载大小
    • 6.15. 避免JavaScript的eval声明
    • 6.16. 防止恶意RegEx让Node.js的单线程过载执行
    • 6.17. 使用变量避免模块加载
    • 6.18. 在沙箱中运行不安全代码
    • 6.19. 使用子进程时要格外小心
    • 6.20. 隐藏客户端的错误详细信息
    • 6.22. 修改session中间件设置
    • 6.24. 避免不安全的重定向
暂无相关搜索结果!

    本文档使用 WanXiangYunDang 构建

    展开/收起文章目录

    思维导图备注

    文章二维码

    手机扫一扫,轻松掌上读

    文档下载

    请下载您需要的格式的文档,随时随地,享受汲取知识的乐趣!
    PDF文档 EPUB文档 MOBI文档

    微信小程序阅读

    BookChat 微信小程序阅读
    微信扫一扫,知识掌上学

    书签列表

      阅读记录

      阅读进度: 0.00% ( 0/0 ) 重置阅读进度