Угловой CLI строит SourceMaps, но не развертывает их

Мы используем интерфейсный инструмент регистрации ошибок Sentry чтобы увидеть ошибки, которые мы получаем в наших угловых приложениях.

Sentry позволяет пользователям загружать свои файлы SourceMap, поэтому я пошел в наш angular.json и установить "sourceMap": true, Как и ожидалось, это создает много .js.map файлы, которые мы загружаем в Sentry, но мы избавляемся от них и не разворачиваем их по очевидным причинам безопасности.

Проблема в том, что Google Chrome Dev Tools почему-то знает, что файлы SourceMap были созданы, и даже пытается получить к ним доступ!

Вот мой вопрос:

  • Как работает Google Chrome, созданный SourceMaps? Я предполагаю что-то в html, css или же js файлы говорит это.
  • Как мне обойти это? Я хочу получить SourceMaps, но я не хочу, чтобы кто-нибудь знал, что они существуют и особенно их местоположения.

Примечание: хотя я упоминаю Sentry несколько раз, это не имеет никакого отношения к вопросу. Я просто хотел объяснить, почему мы этого хотим.

1 ответ

Решение

Первое: как заметил @jonrsharpe, оказалось, что Angular вводит //# sourceMappingURL=... комментарии в конце css а также js файлы и Google Chrome (возможно, и другие браузеры) анализируют его и используют для отображения оригинальных следов стека.

Второе: кажется, что это выполнимо, настроив hidden: true для sourceMap параметр, как это:

"sourceMap": { "scripts": true, "styles": true, "hidden": true, "vendor": true }

Кажется, что sourceMap может быть либо bool или сложный объект. Пожалуйста, посмотрите на угловые документы здесь.

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