Мне нужно загрузить свой код с сайта, размещенного на Firebase, я создал сайт прошлым летом, и у меня больше нет кода локально на моем ноутбуке. Я хотел бы перекодировать некоторые фрагменты, но у меня больше нет исходного кода (кроме javascript и css, которые я могу почерпнуть из обслуживаемых страниц). Я не могу найти способ получить код с сайта firebase, есть ли у кого-нибудь идеи?
Извлеките потерянный код из развертывания Firebase Hosting
Ответы (3)
Конечно, вы должны добавить свой собственный контроль версий (например, git) для управления вашими версиями и резервными копиями, чтобы этого не происходило.
Существует сценарий, который вы можете запустить для загрузки всех ресурсов с помощью интерфейса командной строки. Вы можете найти сценарий и инструкции здесь. Его также можно запустить с помощью npx:
npx https://gist.github.com/mbleigh/9c8680cf319ace2f506f57380da66e7d <site_name>
Обратите внимание, что это возвращает только скомпилированный / визуализированный контент из указанную общую папку, а не какой-либо предварительно скомпилированный исходный код, который у вас мог быть на машине разработки.
Поскольку ваши файлы являются статическими активами, вы также можете очистить их с помощью wget. Это хуже для продвинутых приложений, так как вы получите визуализированный контент, а не источник:
wget -r -np https://<YOURAPPNAME>.firebaseapp.com
Подробнее о парсинге веб-сайтов читайте здесь: https://apple.stackexchange.com/questions/100570/getting-files-all-at-once-from-a-web-page-using-curl
-r -np
? нет -r для wget в Windows 10
- person roberto tomás; 14.02.2017
scoop
, доступный в терминале (cmd), введите scoop install wget
, и вы будете устанавливать пакет linux. Наконец, если вы разработчик и используете W10 для работы, я бы порекомендовал вам включить инструменты разработчика.
- person mentorgashi; 23.12.2018
wget -r -np https://<YOURAPPNAME>.firebaseapp.com
, он работает, но не все файлы загружаются в macbook. Некоторые папки отсутствуют. Почему? @Kato
- person Jamshaid Alam; 18.09.2020
Возможно, этот ответ не совсем соответствует запрошенному направлению, но для того, чтобы перечислить файлы, которые загружаются, вы можете во время развертывания использовать переключатель --debug
:
firebase deploy --debug
С этой опцией вы увидите POST-запрос. Что-то подобное:
>>> HTTP REQUEST POST https://deploy.firebase.com/firebase/yourapp/releases?token=XXX public=dist, version=-KE5UDaj7oCppckjEBaE, prefix=-KE5UDaj7oCppckjEBaE/, manifest=[path=404.html, object=404.html, path=scripts\main\main.html, object=scripts\main\main.html, path=scripts\scripts.d6106dbd.js, object=scripts\scripts.d6106dbd.js, path=scripts\vendor.68cdc83b.js, object=scripts\vendor.68cdc83b.js, path=styles\main.5b335e2d.css, object=styles\main.5b335e2d.css, path=styles\vendor.d41d8cd9.css, object=styles\vendor.d41d8cd9.css], rules=undefined
<<< HTTP RESPONSE 200 server=nginx, date=Wed, 30 Mar 2016 07:46:31 GMT, content-type=application/json; charset=utf-8, content-length=34, connection=close, access-control-allow-origin=*, access-control-allow-methods=GET, PUT, POST, DELETE, OPTIONS, strict-transport-security=max-age=31556926; includeSubDomains; preload, x-content-type-options=nosniff
Это может помочь отследить, что загружено на хостинг firebase.
Но я согласен с тем, что отсутствие возможности простого перечисления файлов на хостинге firebase не способствует использованию этой услуги.
object
, ни path
в HTTP REQUEST POST
, если я бегу firebase deploy --debug
. Похоже, это больше не работает
- person Matt; 25.05.2018
- Это довольно просто, единственное, что вам нужно сделать, это перейти на свой размещенный сайт.
- Щелкните правой кнопкой мыши и перейдите к просмотру element => debugger. Там вы найдете статическую папку.
- расслабьтесь, все ваши js файлы есть (только передняя часть), вы можете скопировать свой код.