定位 JS(JavaScript)日志问题,核心思路是**“让日志可见 → 复现问题 → 缩小范围 → 精确定位”**。下面按实战流程给你一套方法。
console.log()
console.warn()
console.error()
console.table()
console.trace() // 打印调用栈
chrome://inspect可能原因:
try/catch 中被吞掉排查方式:
console.log('start') // 放在最前面
console.log(JSON.stringify(obj, null, 2))
console.dir(obj)
看错误格式:
Uncaught TypeError: xxx is not a function
at foo (app.js:12)
重点看:
// 只在 id === 123 时断
if (id === 123) debugger
debugger 语句function test() {
debugger // 自动断住
}
// main.js
Vue.config.devtools = true
useEffect(() => {
console.log(props)
}, [props])
window.onerror = function(msg, url, line) {
report({ msg, url, line })
}
devtool: 'source-map'
app.min.js:1| 问题 | 原因 |
|---|---|
| 日志不显示 | console 被重写 |
| 对象变了 | console.log 是引用 |
| 异步日志错乱 | 没打时间戳 |
| 看不出来源 | 没加前缀 |
✅ 推荐日志格式:
console.log('[UserModule]', userId, data)
如果你愿意,可以直接把:
发给我,我可以帮你精准定位是哪一行的问题。