Ubuntu 环境下 JS 日志错误码含义与处理
一 错误码分类与含义
二 常见错误码与修复建议
| 错误码或类型 | 含义 | 典型日志示例 | 快速修复 |
|---|---|---|---|
| EADDRINUSE | 端口已被占用 | Error: listen EADDRINUSE: address already in use :::3000 | 查找并释放端口:lsof -i :3000 或 ss -ltnp |
| EACCES | 权限不足 | Error: EACCES: permission denied, open ‘/var/log/node.log’ | 检查并调整文件/目录权限或以具备权限的用户运行 |
| EADDRNOTAVAIL | 绑定地址不可用 | Error: listen EADDRNOTAVAIL: address not available :::8080 | 使用本机有效 IP 或 127.0.0.1,检查网络配置 |
| ENOENT | 路径不存在 | Error: ENOENT: no such file or directory, open ‘./config.json’ | 确认文件路径、工作目录是否正确,必要时创建文件或修正路径 |
| ETIMEDOUT | 连接超时 | Error: ETIMEDOUT | 检查目标服务可达性、网络质量,适当增加超时时间 |
| SyntaxError | 语法错误 | Uncaught SyntaxError: Unexpected token | 修正代码语法(括号、引号、逗号等) |
| TypeError | 类型不匹配 | Uncaught TypeError: xxx is not a function | 确认变量类型与调用方式一致 |
| ReferenceError | 引用未定义 | Uncaught ReferenceError: y is not defined | 确保变量在使用前已声明或初始化 |
| RangeError | 数值/长度越界 | Uncaught RangeError: Invalid array length | 校验参数范围与数组长度合法性 |
| URIError | URI 编解码非法 | Uncaught URIError: URI malformed | 校验 encodeURI/encodeURIComponent 等参数合法性 |
三 定位与排查步骤
四 日志最佳实践