Карты источников, отчеты об ошибках и производственные сборки

#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 — я бы посоветовал настроить теги и заголовок