#vue.js #amazon-s3 #nuxt.js #sentry #source-maps
#vue.js #nuxt.js #караул #источник-карты
Вопрос:
Каков наилучший способ создания исходных карт для инструментов отчетности об ошибках, но при этом не раскрывать их публично в производственной сборке?
Я знаю, что исходные карты раскрывают ваш исходный код, поэтому я хочу избежать их обнародования.
До сих пор мой подход заключался в создании исходных карт с использованием следующей конфигурации на nuxt.config.js
// Build Configuration (https://go.nuxtjs.dev/config-build) build: { extend(config, { isClient }) { // Extend only webpack config for client-bundle if (isClient) { config.devtool = isClient ? 'source-map' : 'inline-source-map' } }, },
который отлично работает при создании исходных карт, которые мне нужны, и с помощью инструмента ошибок.
Проблема возникает, когда я развертываю эти файлы на статическом CDN, таком как S3, я
aws s3 cp ./dist "s3://$DOMAIN" --recursive --no-progress --exclude '*.js.map'
затем я получаю ошибки, подобные следующим, о том, что я не нашел эти карты.
DevTools failed to load source map: Could not load content for https://example.com/_nuxt/c079cc9.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE DevTools failed to load source map: Could not load content for https://example.com/_nuxt/5823d8f.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE DevTools failed to load source map: Could not load content for https://example.com/_nuxt/92bfe22.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE DevTools failed to load source map: Could not load content for https://example.com/_nuxt/82d7903.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE DevTools failed to load source map: Could not load content for https://example.com/_nuxt/348e9ee.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
Поэтому в идеале я хотел бы создать эти карты, но избегать этих вызовов, когда они будут развернуты в рабочей среде.
Комментарии:
1. Потому что вы исключаете их, используя
--exclude '*.js.map'
aws s3 cp
команду? Удалите исключение изaws s3 cp
команды, и затем они будут загружены, чтобы их можно было найти. В настоящее время они исключены.2. Тогда это не имеет ничего общего с S3 и является чистым вопросом интерфейса Javascript — я бы посоветовал настроить теги и заголовок