在VS Code中调试Quasar项目

这里重点说的是 devtool: 'source-map' 用来解决debuger定位行不准确问题

  1. 首先,转到用于Chrome的调试器并仔细阅读。
  2. 然后,由于Quasar是基于Vue的,所以您还需要参考VSCode调试的Vue指南用于设置调试Vue应用程序。

最好的方法是在这个页面旁边的浏览器中打开它,这样你可以在阅读这些说明的同时查看那些说明。并将更改应用到您的项目中。

Vue指南的第一步是启用源映射(source maps)。Quasar自动启用开发模式的源映射。这是一篇好文章,它描述了[webpack devtool设置]的不同值(https://webpack.js.org/configuration/devtool/)(打开或关闭源映射的一个)。Quasar默认使用_cheap-module-eval-source-map_。

虽然cheap-module-eval-source-map可能构建得更快,但它使调试更加困难,并且几乎不可能在VSCode中进行调试。在本例中,devtool的建议值为“source map”。这使得VSCode中的调试能够正常工作,因为内置chrome调试器中有完整的vue源文件,因此更容易找到原始源代码,也更容易正确定位要设置断点的行。如果要启用此功能,请将此行添加到 _quasar.config.js_文件:

// quasar.conf.js
build: {
  // ...

  // this is a configuration passed on
  // to the underlying Webpack
  devtool: 'source-map'
}

然后,您需要告诉VSCode向调试器添加配置。最简单的方法是单击操作栏上的bug图标(对于ltr语言,这是最左边的栏)。单击该bug图标后,文件树区域将切换到调试和运行区域。单击窗口标题栏中的齿轮图标,它将显示一个名为_launch.json_的文件. 这是要调试的启动应用的不同配置的地方。下面是在Chrome中启动Quasar应用程序的设置。对于Firefox版本,请查看上面提到的Vue指南。

{
  "type": "chrome",
  "request": "launch",
  "name": "Quasar App: chrome",
  "url": "http://localhost:8080",
  "webRoot": "${workspaceFolder}/src",
  "breakOnLoad": true,
  "sourceMapPathOverrides": {
    "webpack:///./src/*": "${webRoot}/*"
  }
}

现在保存文件,然后在“调试和运行”窗格标题栏的下拉列表中选择该配置。在启动调试器之前,必须先运行应用程序。从命令行,使用quasar dev启动应用程序的dev模式。然后单击debug and run窗格中的绿色“go”按钮启动调试会话并附加到running应用程序。现在,您可以设置断点和控制step over/in/out等,所有这些都来自VSCode。您也可以启动内置的Chrome调试器,它将保持同步。如果您还安装了Vue devtools(强烈推荐),这可能会很有用。

TIP

如果您只想使用Chrome或Firefox调试器,但是您发现很难在浏览器的源代码选项卡中找到正确的源文件,那么可以在代码中使用debugger语句强制调试器停止在该行并调出正确的源代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值