При разработке, скорее всего, ваш код собирается в бандл и минифицируется. В этой ситуации стактрейсы могут оказаться не очень информативны, но Tracer может исправить эту ситуацию.
Чтобы Tracer мог показать стактрейсы относительно исходного кода, необходимо для вашего проекта загружать сорсмапы.
Важно, чтобы пути к файлам в архиве соответствовали тому пути, который окажется в стактрейсе, без учета хоста.
Например, путь до файла выглядит так:
Error at (https://some-host.ru/someFolder/someScript.hash.js)
Значит, в архиве с сорсмапами должна быть структура:
someFolder - someScript.hash.js.map
Устанавливаем npm
модуль:
npm install @apptracer/sourcemap --save-dev
После сборки отправляем сорсмапы:
const { uploadSourceMap } = require('@apptracer/sourcemap'); uploadSourceMap( sourcemapsPath, // путь до папки с сорсмапами, все *.map файлы будут добавлены в архив { sourcemapToken: PLUGIN_TOKEN, // pluginToken из раздела настроек проекта в Tracer versionName: VERSION_NAME, // отображаемое имя версии (string) versionCode: VERSION_CODE, // код версии (number) onError: console.error, // опционально onSuccess: () => { // опционально console.log('sourcemaps успешно залиты...'); }, } );
Используем curl
:
pushd 'build/sourcemaps' zip -9 -r file.zip . echo 'Заливаем sourcemaps...' curl \ -F sourcemapToken=${PLUGIN_TOKEN} \ -F versionName=${VERSION_NAME} \ -F versionCode=${VERSION_CODE} \ -F file=@file.zip \ https://api-hprof.odkl.ru/api/sourcemap/upload rm file.zip popd