Angular CLI 1.7.0 и код Visual Studio - невозможно установить точки останова

Я использую плагин Chrome Debugger в Visual Studio Code для отладки приложения Angular. После обновления до использования angular/cli@1.7.0 мы больше не можем достигать точек останова в коде машинописи в VS Code во время отладки. Если мы вернемся к angular/cli@1.6.7, точки останова снова начнут работать.

Вот мой вывод ng -v:

Angular CLI: 1.7.0
Node: 9.2.0
OS: win32 x64
Angular: 5.2.5
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cli: 1.7.0
@angular-devkit/build-optimizer: 0.3.1
@angular-devkit/core: 0.3.1
@angular-devkit/schematics: 0.3.1
@ngtools/json-schema: 1.2.0
@ngtools/webpack: 1.10.0
@schematics/angular: 0.3.1
@schematics/package-update: 0.3.1
typescript: 2.5.3
webpack: 3.11.0

Кто-нибудь еще переживает это?

4 ответа

Для тех, кто сталкивался с этим, исправление должно изменить ваш launch.json sourceMapPathOverrides следующим образом:

"sourceMapPathOverrides": { 
    "webpack:/*": "${webRoot}/*" 
}

Это исправило это для меня с последней версией @angular/cli (версия 1.7.3).

Ответ был найден здесь.

Надеюсь, это поможет... Мой случай - Angular CLI 7.2.2:

Webstorm / Intellij - точки останова никогда не попадают, VSCode - точки останова не проверяются / никогда не попадают,отладчик Chrome- точки останова попадают идеально.

Решение: в angular.json установите для evalSourceMap значение "false".

Это запускает Webpack, который Angular CLI использует под капотом для генерации исходных карт в исходный исходный код ("source-map") вместо сгенерированного кода ("eval"). https://webpack.js.org/configuration/devtool/

Смотрите в node_modules@angular-devkit\build-angular\src\angular-cli-files\models\webpack-configs\browser.js

Конечно, вы можете взломать файл browser.js, чтобы установить другое значение для devtool.

Да, то же самое здесь.

Иногда я могу с некоторой трудностью достичь желаемой точки останова (похоже, проблема связана с исходной картой, но отладчик все еще функционирует).

Я попытался поиграться с некоторыми настройками в конфигурации запуска отладчика VS-кода ("sourceMaps" и "trace"), но безрезультатно.

В конце концов я откатил @angular/cli до 1.6.8, и он снова работает нормально.

Изменить: Забыл упомянуть, в случае, если это помогает кому-то в поиске этой проблемы - при запуске отладки точки останова исчезают из исходного файла, и его вкладка помечена "встроенный контент только для чтения из карты источника".

Кроме того, @angular/cli 1.7.1 не решает эту проблему.

То же самое здесь, откат к 1.6.8 (и угловой 5.1.1), чтобы мои контрольные точки снова заработали.

Если вы используете WorkSpace с 1 или несколькими проектами..

У меня работает: launch.json

"version": "0.2.0",
"configurations": [
    {
        "type": "chrome",
        "request": "launch",
        "name": "ng serve",
        "url": "http://localhost:4300",
        "webRoot": "${workspaceFolder}/ProjectName",
        "sourceMapPathOverrides": { 
            "webpack:/*": "${webRoot}/*" 
        }
    }
]

1- Начать проект ng serve --port 4300

2- Начать отладку

Установка sourceMapPathOverrides была недостаточной.

В моем случае файл index.html находится в "/src", а компоненты Angular в "/src/app". Я использую @angular/cli 1.7.4, vscode 1.22.2 и Chrome Debugger 4.3.0.

Мне нужно было установить три параметра в файле launch.json.

"sourceMapPathOverrides": { 
    "webpack:/*": "${webRoot}/*"
},
"webRoot": "${workspaceFolder}",
"sourceMaps": true,

sourceMaps не является обязательным, но убедитесь, что он не установлен в false.

Он должен быть установлен для каждой конфигурации файла конфигурации launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Chrome DEBUG 172.22.44.49",
            ...

В документации по исходным картам отладчика chrome говорится, что webRoot устанавливает каталог, из которого отправляются файлы. Но для решения этой проблемы мне пришлось установить его в корневой каталог рабочей области.

Другие вопросы по тегам