При отладке кода сервера веб-приложений в VS Code (. NET Core в моем случае), есть опция конфигурации launch.json
, которая называется serverReadyAction
для открытия веб-браузера, например:
"serverReadyAction": {
"pattern": "^\\s*Now listening on:\\s+(https?://\\S+)" ,
"action": "openExternally"
}
openExternally
- это одно из возможных действий, а debugWithChrome
- другое. Последний запускает сеанс отладки Chrome, используя отладчик для расширения Chrome. В этом режиме можно добавить свойство webRoot
, которое передается сеансу отладки Chrome:
"serverReadyAction": {
"action": "debugWithChrome",
"pattern": "^\\s*Now listening on:\\s+(https?://\\S+)" ,
"webRoot": "${workspaceRoot}/wwwroot"
}
Приятно, что теперь я могу нажимать точки останова в моих C# и моя клиентская часть JavaScript - прекрасно!
Однако мой JS фактически скомпилирован из TypeScript и связан (в данном случае с Webpack). Обычно при использовании отладчика для расширения Chrome я могу рассказать о sourceMapPathOverrides
. Типичная конфигурация:
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome",
"url": "https://localhost:5001",
"webRoot": "${workspaceRoot}/src",
"sourceMapPathOverrides": {
"webpack:///./src/*": "${webRoot}/*"
}
}
Мой вопрос: возможно ли это при использовании сеанса отладки Chrome, созданного serverReadyAction
/ debugWithChrome
. Это не сразу видно.