Как отладить библиотеку Angular 7 в визуальном коде - PullRequest
2 голосов
/ 15 марта 2019

Можно ли использовать отладчик кода Visual Studio для отладки Angular Library, которая была связана с помощью ссылки npm?Мне очень интересно, могу ли я связать отладчик с кодом моей библиотеки TypeScript (а не со встроенным кодом js).

Мой отладчик отлично работает для приложения, в котором я запускаю код VS, однако точки останова моей связанной библиотекиникогда не попадают под удар.

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

Вот обзор того, что я сделал:

  • Библиотека Angular 7 встроена в папку dist.
  • Я запустилnpm link в папке dist
  • Я запустил npm link @my/test-lib в моем приложении, библиотека обнаруживается в node_modules, и приложение может использовать его прекрасно
  • в angular.json: sourceMaptrue, preserveSystemlinks - true, aot - false, vendorSourceMap - true
  • tsconfig.json sourceMap - true, enableResourceInlining - true
  • vscode launch.json имеет runtimeArgs, для которого установлены значения --preserve-symlinks и --preserve-symlinks-main

1 Ответ

0 голосов
/ 03 апреля 2019

Точно настройте файл launch.json на основе sourceMapPathOverrides.Выдержка из шахты:

"sourceMapPathOverrides": {
     "webpack:///ng://<<your-awesome-lib>>/lib/*": "C:/<<full path to your library wrapper app>>/projects/<<your-awesome-lib>>/src/lib/*"
 },
...