Попытка создать расширение chrome с помощью socket.io

#javascript #google-chrome-extension #socket.io

Вопрос:

Я пытаюсь создать расширение chrome с помощью socket.io, но я сталкиваюсь с множеством трудностей при импорте сокета.клиент ввода-вывода в мое приложение.

Я использую Manifest V3, что означает, что у меня есть только один service_worker, поэтому я попытался использовать importScripts , но по какой-то причине это не работает. Я не могу вызвать io() функцию после использования importScripts . Затем я попытался изменить политику безопасности контента, чтобы получить ее из CDN, но я получаю сообщение об ошибке, в котором говорится, что она недействительна.

Есть идеи, как я могу это сделать?

Ответ №1:

Что касается importScripts этого , вы можете попытаться объединить фоновый скрипт с помощью webpack, накопительного пакета или esbuild. Это усложнит задачу, или вы можете найти стандартный шаблон на github.

Работник службы может быть неактивен в любое время. так что вы не сможете все время оставаться на связи с сервером, когда используете socketio на сервисном работнике. В противном случае вам понадобится какой-нибудь хак, чтобы сохранить жизнь работнику службы. Например, сценарии контента sendMessage для него упорядочены и непрерывны. (Я просто представил себе это таким образом, но еще не пробовал.)