Я разрабатываю веб-расширение на основе машинописного текста. Для отладки мне нужны исходные карты как в фоновом режиме, так и в сценариях содержимого.
В настоящее время я использую parcel для связывания своего расширения (но я не думаю, что эта проблема связана с посылкой) . С помощью подключаемого модуля для webextensions процесс объединения становится проще простого parcel build src/manifest.json
.
Это также компилирует машинописный текст и создает соответствующие карты источников. Я могу видеть исходные карты для сценариев содержимого и отлаживать их. Но на заднем плане исходные карты не загружаются.
Firefox жалуется:
Source map error: TypeError: NetworkError when attempting to fetch resource.
Resource URL: moz-extension://aabd65f9-70d4-43bc-afb8-d04b6eca3602/background.js
Source Map URL: /background.map[Learn More]
Мне кажется, что это была проблема с предоставлением исходной карты браузеру. Я вижу, что он создан. Он загружен правильно для Contentcript. И я вижу, что синтаксис двух скриптов идентичен. Может быть, Firefox ожидает другого способа размещения в фоновом режиме?
Чтобы воспроизвести проблему, я создал этот репозиторий: https://github.com/lhk/webextension_typescript_webpack
npm install -g parcel-bundler
git clone https://github.com/lhk/webextension_typescript_webpack
git checkout parcel_branch
npm install
parcel build src/manifest.json
Затем загрузите его в Firefox и просмотрите вывод консоли отладки. Выдает указанное выше сообщение об ошибке.
ОБНОВЛЕНИЕ: Я обнаружил эту проблему: https://github.com/webextension-toolbox/webextension-toolbox/issues/58
Очевидно, Firefox может работать только с определенным набором исходных карт при работе с webextensions. Но я не понимаю, почему исходные карты работают для Contentcript.