Обзор
Я пытаюсь создать расширение Chrome, которое принимает открытую в настоящее время HTML-страницу и все ее зависимости (CSS, JS) и загружает ее в пользовательский домен через FTP. После этого я смогу открыть его на своем телефоне, чтобы убедиться, что веб-сайт выглядит хорошо на телефоне.
По сути, я пытаюсь повторить функциональность Live Server расширения VSCode, но при этом загружаю файл в пользовательский домен. Я знаю, что вы, как правило, сможете получить доступ к локальному серверу живого сервера с телефона, но настройки моего университета в Интернете, похоже, не позволяют этого, поэтому я и желаю такого расширения.
Все, что я знаю о моей хостинговой службе, это то, что она использует cPanel и поддерживает FTP, что, я полагаю, это все, что мне нужно. Я могу настроить новые FTP-соединения и логины. Все детали FTP в коде будут жестко закодированы, но взяты из отдельного файла и .gitignored, так что их нет в моей истории коммитов, что, я надеюсь, достаточно.
Что я пробовал и что застрял на
У меня есть большая часть расширений Chrome; Процесс передачи по FTP - вот что вызывает у меня проблемы.
Сначала я попытался использовать chrome-app-ftp , но быстро понял, что он старый и у него проблемы, поэтому я переключился на jsftp .
Я использовал browserify, чтобы исправить проблему «require», и это кое-что прояснило.
В данный момент я застрял на следующей ошибке:
Error: TypeError: createConnection is not a function
Я провел исследование и не думаю, что ошибка связана с проблемой в моем коде; Я считаю, что это всего лишь ограничение инструментов, которые я использую. Похоже, это проблема с интерфейсом JS, не поддерживающим модуль "net", что приводит меня к моему вопросу.
Мой вопрос
Как мне обойти отсутствие поддержки модуля "net" во внешнем интерфейсе? Нужно ли для этого настроить какой-нибудь локальный бэкэнд для узла с чем-то вроде этого? У меня практически нет опыта работы с любым бэкэндом, поэтому мне, возможно, нужно указать, какой бэкэнд лучше для этого подходит. Мне просто нужно знать, какой технологический стек лучше всего подходит для этого.
Если потребуется дополнительная информация, я буду часто проверять и буду рад помочь. Заранее спасибо.