Вопрос с собеседования · Frontend

Что такое source maps и как их использовать в продакшене?

MiddleВыкатка и эксплуатация
Ещё спрашивают так:
  • Как понять ошибку в минифицированном коде?
Коротко

Source map — файл соответствия собранного (минифицированного, склеенного) кода исходному: строка 1, столбец 48231 в index-3f2a.js → Cart.tsx:42. Браузерные DevTools и системы сбора ошибок (Sentry и аналоги) по нему показывают исходный стек ошибки. В продакшене карты обычно не публикуют открыто (раскрывают исходники), а загружают в систему мониторинга при сборке, привязывая к версии релиза.

  • Без привязки к версии карта не совпадёт с кодом
  • Загрузка карт — шаг CI после сборки
  • В разработке карты включены по умолчанию

Подробно

Ошибка «TypeError: Cannot read properties of undefined (reading 'id') at a.b (index-3f2a.js:1:48231)» бесполезна; с картой — «at applyCoupon (src/cart/coupon.ts:42)».

Что хотят услышать

  • Назначение source maps.
  • Загрузка в мониторинг вместо публикации.
  • Привязка к версии релиза.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✗Source maps ускоряют загрузку сайта, поэтому их публикуют вместе с бандлом
  • ✓Связывают собранный код с исходным; в продакшене их грузят в мониторинг, а не публикуют
  • ✗Source maps нужны только для CSS
  • ✗Привязка карт к версии релиза не важна

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования