Угловой 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
или сложный объект. Пожалуйста, посмотрите на угловые документы здесь.