【前端】前端控制台报错速查手册(完整版)

以下是老曹总结的《前端控制台报错速查手册》的完整版内容大纲和核心章节,涵盖前端开发中所有常见控制台报错类型、错误规则、调试技巧与解决方案,适用于 Vue、React、原生 JS 项目等各类前端技术栈。


📘 前端控制台报错速查手册(完整版)

📚 目录

  1. 控制台基础介绍
  2. 报错分类与级别说明
  3. JavaScript 错误类型详解
  4. 网络请求错误码解析
  5. 模块加载与构建错误
  6. 路由与页面跳转错误
  7. 数据绑定与响应式异常
  8. 浏览器兼容性问题
  9. 第三方库相关报错
  10. 性能监控与优化建议
  11. 实战调试技巧
  12. 常见报错修复模板
  13. 附录:工具推荐与资源链接

1️⃣ 第一章:控制台基础介绍

控制台的作用

  • 显示运行时错误信息
  • 输出日志用于调试
  • 查看网络请求状态
  • 分析性能瓶颈
  • 操作 DOM 元素

如何打开控制台?

  • Chrome / Edge / Firefox:
    • 快捷键:F12Ctrl + Shift + I(Windows/Linux),Cmd + Option + I(Mac)
    • 右键页面 → “检查” → 切换到 Console 标签页

2️⃣ 第二章:报错分类与级别说明

类型图标描述
Error红色 ×致命错误,脚本停止执行
Warning ⚠️黄色 ⚠️警告,不影响运行但可能存在问题
Info ℹ️蓝色 i一般信息提示
Log 💬白色 log普通日志输出(console.log)
Debug 🐛灰色 dot用于调试信息(console.debug)

3️⃣ 第三章:JavaScript 错误类型详解

ReferenceError

  • 含义:引用了未定义的变量或函数。
  • 示例
    console.log(x); // x 未定义
    
  • 修复
    • 检查变量是否声明
    • 是否拼写错误
    • 是否作用域外访问

TypeError

  • 含义:操作非法数据类型。
  • 示例
    let obj = null;
    console.log(obj.name);
    
  • 修复
    • 加空值判断
    • 使用可选链 obj?.name

SyntaxError

  • 含义:语法错误,代码无法被解析。
  • 示例
    let a = "hello; // 少引号
    
  • 修复
    • 检查括号、引号匹配
    • 使用 ESLint 预防语法错误

RangeError

  • 含义:数值超出允许范围。
  • 示例
    function loop() { loop(); }
    loop();
    
  • 修复
    • 避免无限递归
    • 设置递归终止条件

URIError

  • 含义:URL 编解码错误。
  • 示例
    decodeURIComponent('%');
    
  • 修复
    • 使用 try…catch 包裹
    • 对输入进行合法性校验

EvalError

  • 含义:使用 eval() 函数时出错(现代浏览器较少使用)。

4️⃣ 第四章:网络请求错误码解析

状态码含义常见场景
400 Bad Request请求格式错误参数缺失、JSON 格式错误
401 Unauthorized未授权Token 失效
403 Forbidden禁止访问权限不足
404 Not Found资源不存在URL 错误
500 Internal Server Error服务器内部错误后端崩溃
502 Bad Gateway网关错误Nginx 或反向代理配置错误
504 Gateway Timeout网关超时后端响应太慢

5️⃣ 第五章:模块加载与构建错误

常见错误:

  • Cannot find module 'xxx'
  • Module not found: Error: Can't resolve 'xxx'
  • Failed to fetch dynamically imported module
  • Uncaught SyntaxError: Unexpected token '<'

修复方法:

  • 执行 npm install
  • 检查路径大小写、相对路径正确性
  • Vite/webpack 配置动态导入方式
  • 确保开发服务器已启动

6️⃣ 第六章:路由与页面跳转错误

常见错误:

  • NavigationDuplicated(Vue Router v4+)
  • No route matched with the incoming path
  • 页面空白无报错(history 模式部署问题)

修复方法:

  • 使用 try...catch 捕获导航异常
  • 修改为 hash 模式或配置服务器重定向
  • 添加 fallback 路由处理 404

7️⃣ 第七章:数据绑定与响应式异常

常见错误:

  • Computed property was assigned a value
  • Set operation on key "xxx" failed: target is readonly
  • TypeError: Cannot assign to read only property 'xxx' of object '#<Object>'

修复方法:

  • 使用 .value 修改 ref 值
  • 使用 toRefs() 替代 reactive()
  • 避免直接修改 props
  • 正确使用 watch 和 computed

8️⃣ 第八章:浏览器兼容性问题

常见错误:

  • Promise is not defined(IE 不支持 Promise)
  • Arrow function is not supported in this browser
  • CSS variable is not recognized

解决方案:

  • 使用 Babel 转译 ES6+
  • 引入 polyfill 支持旧浏览器
  • 设置 PostCSS 自动添加前缀
  • 使用 feature detection 替代 browser sniffing

9️⃣ 第九章:第三方库相关报错

常见错误:

  • jQuery is not defined
  • Vue is not defined
  • Can't import the named export 'xxx' from non EcmaScript module
  • Invariant Violation: xxx must be used within a Provider

修复方法:

  • 检查依赖安装与引入顺序
  • 使用按需引入插件(如 babel-plugin-import)
  • 升级库版本解决兼容性问题

🔟 第十章:性能监控与优化建议

控制台相关指标:

  • Performance 面板查看加载时间
  • Network 面板查看请求耗时
  • Memory 面板检测内存泄漏
  • Lighthouse 审计性能评分

推荐做法:

  • 使用懒加载减少初始加载体积
  • 合理使用防抖节流
  • 避免频繁触发重排重绘
  • 使用 Web Worker 提升计算性能

🔪 第十一章:实战调试技巧

技巧说明
console.table(data)表格展示对象数组
console.time() / console.timeEnd()计算执行时间
debugger 关键字在代码中插入断点
$0 / $_获取最近选中的 DOM 或表达式结果
Sources 面板设置断点、单步执行、查看调用堆栈
Network 面板查看请求头、响应体、加载时间

🛠️ 第十二章:常见报错修复模板

报错类型示例代码修复方式
ReferenceErrorconsole.log(x)声明变量或检查拼写
TypeErrorobj.undefinedProp使用 ?. 运算符
URIErrordecodeURIComponent('%')增加 try/catch
404 Not Found请求地址错误检查 API 地址或路径别名
Module not foundimport xxx 报错检查路径或执行 npm install
NavigationDuplicatedVue Router 报错全局捕获异常
White Screen页面空白检查路由模式、静态资源路径

📎 第十三章:附录

工具推荐

名称用途
Chrome DevTools主力调试工具
Vue DevtoolsVue 项目调试
React Developer ToolsReact 项目调试
Lighthouse性能审计
Sentry线上错误收集平台
Bugsnag错误追踪与分析

学习资源

名称链接
MDN Console API 文档https://developer.mozilla.org/zh-CN/docs/Web/API/Console
Vue 3 官方文档https://vuejs.org/guide/
React 官方文档https://reactjs.org/docs/getting-started.html
Webpack 官方文档https://webpack.js.org/concepts/
Vite 官方文档https://vitejs.dev/guide/

📄 PDF 下载建议

你可以将此文档保存为 PDF:

  • 在 VSCode 中使用 Markdown Preview Enhanced 插件导出为 PDF
  • 使用 Typora 导出为 PDF
  • 使用在线 Markdown 转 PDF 工具(如 https://markdowntopdf.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全栈前端老曹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值