В дартс в пабе, когда я должен использовать "любой" версии ограничение на зависимость?
При создании пакета я часто путаюсь в том, следует ли мне использовать ограничение any
.
Я знаю, что для:
-
Библиотечные пакеты, я должен указать четкие ограничения версии , чтобы пользователи моих библиотек знали версию моих транзитивных зависимостей,
-
Пакеты приложений, я должен использовать
any
и проверить мойpubspec.lock
lockfile, чтобы другие могли запустить мой применение,
Но есть серая область для:
-
Приложения, предназначенные для расширения , такие как кодовые таблицы, учебники, шаблоны, примеры и другие.
-
Приложения, которые также имеют многократно используемые библиотеки ; то есть пакеты, которые имеют Каталог
lib
для общей функциональности, который не имеет смысла помещать в отдельный пакет, но также каталогweb
для полноценного приложение.
Вопрос: когда именно я должен использовать ограничение версии any
, и когда я должен полностью указать ограничение версии для пакетов Pub?
1 ответ:
Приложения, предназначенные для расширения , такие как кодовые таблицы, учебники, шаблоны, примеры и другие.
Поскольку они часто будут копироваться в качестве основы обычных пакетов приложений, я бы использовал ограничение
any
и проверил файл блокировки, чтобы показать хороший пример.Приложения, которые также имеют многократно используемые библиотеки ; то есть пакеты, которые имеют каталог
lib
для общей функциональности, которую не имеет смысла помещать в отдельном пакете, но и в каталогеweb
для полноценного приложения.Все приложения должны помещать свой код в каталог
lib
. Каталогweb
должен содержать только точки входа. Таким образом, это всего лишь стандартный пакет приложения, который должен использовать ограничениеany
и проверить файл блокировки.