Если вы закончили свой веб-проект Flutter и загрузили свой отличный HTML и сопутствующий файл на хостинг.
И тут – бум! Ничего не отображается, только белая блестящая веб-страница. Вам может понадобиться следующее обходное решение
A. Релиз с HTML веб-рендерером
Команда Flutter упомянула в документе, что при выборе по умолчанию. Flutter будет выбирать веб-рендерер в зависимости от окружения:
- HTML для мобильного браузера
- Canvaskit для настольного браузера
В некоторых условиях Canvaskit не будет рендерить ваше готовое к производству веб-приложение. Но HTML будет работать.
Попробуйте выполнить следующую команду сборки:
flutter build web --web-renderer html
Эта команда заставит ваш релиз использовать HTML-рендерер вместо Canvaskit.
B. Удалите этот базовый элемент
Я обнаружил в выпуске этого репозитория, где люди упоминают, что удаление (или да, закомментируйте его) элемента <base>
в index.html поможет.
<base href="/">
Есть ли лучший способ?
Я знаю, что эти обходные пути могут быть не самыми лучшими. Но если вы нашли лучшее решение для решения этой проблемы. Пожалуйста, не стесняйтесь комментировать ниже.