Node.js 最佳实践
首页
白天
夜间
小程序
下载
阅读记录
书签管理
我的书签
添加书签
移除书签
6.9. 转义 HTML、JS 和 CSS 输出
来源 goldbergyoni
浏览
3
扫码
打印
2026-10-24 16:59:24
未登录游客仅可阅读
80%
章节,请您
登录
再阅读
上一篇:
下一篇:
发布点评
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
文档
×
微信小程序阅读
微信扫一扫,知识掌上学
×
书签列表
×
阅读记录
阅读进度:
0.00%
(
0/0
)
重置阅读进度