Skip to main content
Это руководство объясняет, как интегрировать Mellowtel в ваше расширение для браузера без использования сборщиков, таких как Webpack или Vite. Вместо этого вы будете использовать один предварительно собранный файл, который работает как в контент-скриптах, так и в сервис-воркерах.

Настройка проекта

Начните с базовой структуры расширения для браузера:

Получение пакета Mellowtel

У вас есть два варианта получения файла mellowtel.js для вашего расширения:

Вариант 1: Использовать предварительно собранный файл

Самый простой способ начать — использовать предварительно собранный файл mellowtel.js из репозитория mellowtel-bundled.
  1. Перейдите в репозиторий mellowtel-bundled
  2. Скачайте файл mellowtel.js
  3. Скопируйте его в директорию вашего расширения

Вариант 2: Сгенерировать собственный пакет

Если вы предпочитаете сгенерировать пакет самостоятельно, выполните следующие шаги:

Создайте временную директорию для сборки

Создайте временную директорию для установки Mellowtel и генерации пакета:
Это создаст отдельную папку с пакетом Mellowtel, которую вы будете использовать только для сборки.

Соберите Mellowtel с помощью esbuild

Находясь в директории mellowtel-bundling, создайте единый пакет, который работает как в сервис-воркерах, так и в контент-скриптах:
Эта команда:
  • Берет исходный код Mellowtel из node_modules/mellowtel/dist/index.js
  • Собирает все зависимости в один файл
  • Использует формат IIFE с глобальным именем для универсальной совместимости
  • Добавляет футер, чтобы сделать экспорт по умолчанию доступным глобально
  • Оптимизирует для браузерной среды и минимизирует вывод
  • Создает mellowtel.js в директории для сборки

Скопируйте пакет в ваше расширение

После выполнения команды esbuild скопируйте сгенерированный файл в директорию вашего расширения:
Теперь вы можете удалить временную директорию для сборки, так как вам нужен был только выходной файл:
Ваша папка расширения теперь содержит собранный файл Mellowtel, готовый к использованию.

Настройка вашего манифеста (оба варианта)

Независимо от того, какой вариант вы выбрали выше, настройте ваш manifest.json, чтобы включить пакет Mellowtel в контент-скрипты:
Важно:
  • Поле "type": "module" позволяет использовать импорты ES-модулей в вашем сервис-воркере.
  • В массиве контент-скриптов mellowtel.js должен загружаться перед content_script.js, чтобы глобальная переменная Mellowtel была доступна, когда ваш контент-скрипт выполняется.

Использование Mellowtel в вашем расширении

Для вашего сервис-воркера (background.js) импортируйте собранный файл:
Для контент-скриптов Mellowtel доступен как глобальная переменная (импорт не требуется, так как он загружается через манифест):

Тестирование вашего расширения

Чтобы протестировать ваше расширение:
  1. Перейдите на chrome://extensions/ в Chrome (или эквивалент в других браузерах)
  2. Включите “Режим разработчика”
  3. Нажмите “Загрузить распакованное” и выберите папку вашего расширения
Этот подход дает вам преимущества использования Mellowtel без сложности настройки полной системы сборки, такой как Webpack или Vite.