Angular 8 готовых загрузочных модулей (включая модуль приложения) не отображаются в chrome инструментах разработки - PullRequest
0 голосов
/ 12 марта 2020

Я относительно новичок в Angular и пытаюсь использовать инструменты chrome dev для отладки. Однако, я застрял с проблемой, что в дереве файлов отображаются только ленивые загрузочные модули (вкладка «Источники» chrome dev), но ни один из загружающих модулей. Кроме того, я получаю довольно много 404 в консоли сервера, например

"GET /runtime.js.map" Error (404): "Not found" 
"GET /es2015-polyfills.js.map" Error (404): "Not found" 
"GET /polyfills.js.map" Error (404): "Not found" 
"GET /main.js.map" Error (404): "Not found"

Не уверен, что они связаны.

Похоже, что комментарии к исходным путям в файлах js верны ( например, //# sourceMappingURL=main.js.map). Однако в качестве приложения с переходом от нативного js к Angular есть две папки с безобразными js файлами (и картами). Тем не менее, это работает для ленивых загрузочных модулей, но не для «обычных» загружающих модулей.

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

Любая подсказка / информация, которая поможет мне в решении этой проблемы, будет весьма кстати. Если требуется дополнительная информация о настройке, пожалуйста. вернись ко мне.

Angular CLI версия:

Angular CLI: 8.3.23
Node: 10.16.3
OS: linux x64
Angular: undefined
... 

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.803.23 (cli-only)
@angular-devkit/core         8.3.23 (cli-only)
@angular-devkit/schematics   8.3.23 (cli-only)
@schematics/angular          8.3.23 (cli-only)
@schematics/update           0.803.23 (cli-only)
rxjs                         6.3.3

1 Ответ

0 голосов
/ 13 марта 2020

Решил проблему с помощью коллеги. По-видимому, проблема была вызвана загрузкой скрипта jQuery. После изменения этого параметра на другой параметр загрузки (как подробно описано в Как включить файл JavaScript в другой файл JavaScript? все файлы TypeScript были доступны в инструментах Chrome dev для отладки (в Webpack) дерево файлов).

Код, вызвавший проблему:

$.getScript('../../path-to/main.js'

Код, который устранил проблему:

function dynamicallyLoadScript(url) {
   var script = document.createElement('script'); // create a script DOM node
   script.src = url; // set its src to the provided URL
   document.head.appendChild(script); // add it to the end of the head section of the page (could change 'head' to 'body' to add it to the end of the body section instead)
   }
   dynamicallyLoadScript('path-to/main.js');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...