Как не дать флаттеру перезаписать мой индекс. html при каждой сборке? - PullRequest
0 голосов
/ 05 апреля 2020

Итак, я работаю с flutter web + облачное хранилище

Чтобы облачное хранилище работало, я должен изменить свой индекс. html. Проблема в том, что каждый раз, когда я запускаю

flutter build web

, он перезаписывает мой индекс. html, и мне приходится заново вручную добавлять все необходимые фрагменты кода, чтобы он снова заработал.

способ запуска flutter build web без перезаписи индекса. html?

Другая связанная с этим проблема заключается в том, что при развертывании сайта в firebase он работает нормально, но когда я запускаю этот сайт локально для тестирования с использованием

flutter run -d chrome

при работе на chrome сайт снова использует совершенно новый индекс. html без необходимого кода, поэтому он не работает. У меня нет возможности редактировать индекс. html, чтобы применить необходимый код, поскольку он собирается и запускается немедленно.

Есть ли исправление для этого?

1 Ответ

1 голос
/ 05 апреля 2020

Вам следует изменить файл index.html в папке <project>/web, но не в папке <project>/build/web. Этот файл будет скопирован в папку <project>/build/web в процессе сборки.

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Flutter web</title>
  <link href="https://fonts.googleapis.com/css?family=Raleway&display=swap" rel="stylesheet">
  <script defer src="main.dart.js" type="application/javascript"></script>
  <script src="https://www.gstatic.com/firebasejs/6.6.0/firebase-app.js"></script>
  <script src="https://www.gstatic.com/firebasejs/6.6.0/firebase-auth.js"></script>
</head>

<body>
  <h1>This text will be copied to the target HTML, but covered by flutter web app</h1>
</body>

</html>
...