VSCode 上的 pwa-node 类型启动配置是啥?
Posted
技术标签:
【中文标题】VSCode 上的 pwa-node 类型启动配置是啥?【英文标题】:What is the pwa-node type launch configuration on VSCode?VSCode 上的 pwa-node 类型启动配置是什么? 【发布时间】:2020-12-06 02:13:51 【问题描述】:我注意到 VSCode 生成的用于 npm 调试的默认启动配置(通过 NPM 启动)默认将配置类型设置为“pwa-node”。
添加“通过 NPM 启动”配置:
生成的配置类型:
我搜索了一下,但没有找到这个的含义(可能与 Progressive Web Apps 有关?)。
有谁知道“pwa-node”的含义以及为什么是“pwa-node”而不是“node”?
【问题讨论】:
PWA 表示渐进式 Web 应用程序,不特定于 vscode。 【参考方案1】:
type
属性
type
属性指定用于此启动配置的调试器类型。每个安装的调试扩展都会引入一个类型:例如,node
用于内置 Node 调试器,php
和 go
用于 PHP 和 Go 扩展。
type : pwa-node
javascript Debugger 是用于在 VS 代码中进行调试的内置扩展。此扩展在最新版本的 VS 代码中默认安装并启用。 "type": "pwa-node"
来自预览版 Javascript Debugger (Nightly)。 pwa-
前缀用于区分应该使用哪个调试器。
在从侧边栏的调试部分创建launch.json
文件时,当您单击下拉菜单中的Node.js(Preview)
而不是Node.js
时,"type": "pwa-node"
将添加到您的launch.json
。
如果你打开 VS 代码的defaultSettings.json
,你可以看到预览版的设置(启用),如下所示:
"debug.javascript.usePreview": true,
"debug.javascript.usePreviewAutoAttach": true,
如果您想使用此夜间版本的调试器扩展,您需要禁用内置调试器并从市场安装夜间版本。为此,请按以下步骤操作:
-
打开扩展视图并搜索
@builtin @id:ms-vscode.js-debug
右键单击并禁用扩展。
现在通过键入以下内容搜索夜间扩展:@id:ms-vscode.js-debug-nightly
点击安装并重启VS代码。
现在您可以使用 JavaScript 调试器 (Nightly) 调试 Typescript 和 Javascript 代码。
如果您收到 debug type 'pwa-node' is not supported
的错误,请从您的 settings.json
中删除以下设置:
"debug.node.useV3": true,
"debug.chrome.useV3": true
type : node
如果您想要以前的行为,即"type": "node"
,请在从侧边栏的调试部分创建launch.json
文件时,在下拉菜单中单击Node.js
而不是Node.js(Preview)
。您也可以在launch.json
中手动输入"type": "node"
,而不是从菜单中输入,这不会有任何区别。
如果您对 Javascript 调试器的夜间版本进行了上述更改,您应该撤消这些更改以使内置的 Javascript 调试器正常工作。
【讨论】:
@OldGeezer,如答案中所述,pwa-node
是夜间构建,也称为预览构建。 node
是一个常规的、更稳定的构建。如果您想要渐进式网络应用程序等最新功能,请使用 pwa-node
,但它可能尚未准备好生产。【参考方案2】:
pwa-
前缀是/曾经是针对 VS Code 的 new JavaScript debugger(当时命名为 vscode-pwa)的一种方式。
https://github.com/microsoft/vscode-js-debug/pull/32
与 Kai 和 Rob 交谈,我们想做的是做 PWA 扩展 替代现有的两个 Chrome 和 Node 调试扩展。 因此,我们希望 PWA 扩展能够读取并支持 现有的配置设置,并通过启动
chrome
来调用 和node
类型。更多工作,即将在后续 PR 中推出,将 需要实际处理这些设置。这也将构建转移到 Gulp 系统,支持 NLS 和匹配 现有的扩展。构建的一部分是拥有类型的能力 并且命令以
pwa-
为前缀:运行gulp
将生成一个扩展 注册类型pwa-node
和pwa-chrome
,而gulp --drop-in
将 删除这些前缀。这让我们可以使用 现有的包,直到我们想要开始对其进行测试。
他们还在这里谈论如何使用定位机制:https://github.com/microsoft/vscode/issues/85984
【讨论】:
有人知道PWA
的缩写代表什么吗? (在我看到的上下文中,它似乎并不意味着“渐进式 Web 应用程序”,这是 Web 开发中该首字母缩写词的常见含义。)
@robenkleene 可能真的只是“渐进式 Web 应用程序”。请参阅此提交 github.com/microsoft/vscode-js-debug/commit/… 中的链接徽标 (resources/pwa.png)。它是 PWA 的标志。一些提交09c9ce22e 还包含使用 ServiceWorkers、CacheStore 和 Puppeteer 的代码。也许这最初是为调试 PWA 应用程序而创建的。另请参阅efa26ae84,它从 CDP(代码调试协议?)重命名为 PWA以上是关于VSCode 上的 pwa-node 类型启动配置是啥?的主要内容,如果未能解决你的问题,请参考以下文章