Проблема 1: Использование функции assert()
для инициализации приложения
Вы вызываете метод fb.initializeApp()
внутри метода assert()
, который не будет вызываться в сборке выпуска. Метод assert
полезен при разработке для добавления дополнительных проверок. Он не должен содержать или использоваться для обработки какой-либо функциональной / бизнес-логики. Проверьте этот раздел языкового тура дартс. В нем говорится, что метод assert игнорируется в рабочем режиме.
В рабочем коде утверждения игнорируются, а аргументы для assert не оцениваются.
Проблема 2: Отсутствует информация об активах в pupspec.yaml
В вашем index.html
я вижу, что вы пытаетесь загрузить некоторые .js
файлы, подобные этому /__/firebase/init.js
. Сборка Flutter не сохранит ее в папке сборки, пока вы не отметите ее как актив в pubspec.yaml
.
Предполагается, что вы поместили все свои файлы .js
, необходимые для приложения, в папку с именем /js/init.js
, как показано ниже.
В моем случае папка js/
параллельнадо lib/
. Это мой выбор, но вы можете выбрать, какой вы хотите.
Вам нужна такая запись в вашем pubspec.yaml
.
assets:
- js/init.js
- js/firebase-app.js
ИЛИ Просто включите всю папку следующим образом.
assets:
- js/
То же самое относится ко всем активам, таким как изображения, данные json и т. Д. Проверьтеэта ссылка для более подробной информации.
Возможная проблема 3: Неправильная ссылка на локальный .js
файл в Index.html
В вашем index.htmlВы пытаетесь загрузить какой-то локальный файл .js
, как упоминалось ранее. Я думаю, что вы должны загрузить эти файлы, как показано ниже, если вы следуете моей предложенной структуре папок. Вероятно, вам следует отредактировать его по собственному выбору.
<script src="assets/js/init.js" type="application/javascript"></script>
<script src="assets/js/firebase-app.js" type="application/javascript"></script>
Надеюсь, он поможетСчастливого порхания.