【发布时间】:2020-05-05 03:57:33
【问题描述】:
我在调试 Vue 应用程序时遇到问题,因为步进可以跳过行或无法在有效行上设置断点。
我猜这是源地图问题,但不确定从哪里开始挖掘。可能是 Vue-loader、Webpack 或 Babel 之一。
测试:
vue: 2.6.10
vue-cli 4.1.2
问题可以重现如下:
创建新的 Vue 项目:
vue 创建测试
只使用默认值
cd 测试
npm 运行服务
将 HelloWorld.vue 替换为:
<template>
<button @click="save()">
Save
</button>
</template>
<script>
export default {
methods: {
async save() {
debugger;
let valid = false;
if (valid) {
return;
} else {
console.log("Hi")
}
}
}
}
</script>
在 Chrome 中打开 devtools,点击保存按钮并尝试在行上放置断点:
if (valid) {
在我的测试中没有设置断点。
如果我从 save 方法中删除 async,就可以设置断点了。
使用 Chrome 79 和 Firefox 73 测试。
我也尝试过 vue.config.js 中的各种 devtool 设置,但没有成功,例如:
devtool = 'cheap-module-eval-sourcemap'
devtool = 'cheap-eval-source-map'
devtool = 'source-map'
有什么想法吗?
亲切的问候
鲍勃
【问题讨论】:
-
我也有同样的问题;无法在异步方法中调试。很想听听对此的任何修复!