Я могу сделать 2 pubspec.yaml, один для Интернета, а другой для мобильных устройств в Flutter?

#flutter #flutter-web

Вопрос:

У меня есть стабильный проект, который я сделал с помощью Flutter для Android и IOS. Он работает нормально, в настоящее время я использую flutter 2.2.3, и мне тоже удается работать в Интернете.

Проблема в том, что когда я запускаю режим выпуска или режим отладки, я вижу, что некоторые пакеты, которые я не использую в Flutter Web, просто импортируются, потому что у меня уже есть этот пакет, который использует мой Flutter Mobile.

Мне действительно нужно создать новый проект flutter только для того, чтобы скопировать и вставить свой код? Или для этого есть решение?

Комментарии:

1. мы можем обмануть что-то вроде этого. мы создадим 2 pubspec.yaml, один будет реальным, другой будет pubspecW.yaml, . мы изменим имя файла во время сборки. 🙂

2. Где я устанавливаю и как я изменяю pubspec?

Ответ №1:

В этом отношении решением является использование условного импорта.

 import <packageA>
if (kIsWeb)
   import <packageB>
   import <packageC>