Wenn ich ein Paket mache, bin ich oft verwirrt, ob ich die Einschränkung any
verwenden soll.
Ich weiß das für:
Bibliothekspakete , Ich sollte klare Versionsbeschränkungen angeben damit Benutzer meiner Bibliotheken die Version meiner transitiven Abhängigkeiten kennen,
Anwendungspakete , Ich sollte any
verwenden und prüfen in meinem pubspec.lock
lockfile , damit andere meine Anwendung ausführen können,
aber es gibt eine graue Fläche für:
Anwendungen, die erweitert werden sollen , wie z. B. Codelabs, Tutorials, Vorlagen, Beispiele und andere.
Anwendungen, die auch wiederverwendbare Bibliotheken enthalten ; Pakete mit einem lib
-Verzeichnis für allgemeine Funktionen, die nicht sinnvoll sind, um ein separates Paket zu erstellen, sondern auch ein web
-Verzeichnis für eine vollwertige Anwendung.
Frage: Wann genau sollte ich die any
Versionsbeschränkung verwenden und wann sollte ich die Versionsbeschränkung für Pub-Pakete vollständig angeben?
Anwendungen, die erweitert werden sollen , wie zum Beispiel Codelabs, Tutorials, Vorlagen, Beispiele und andere.
Da diese oft als Basis für normale Anwendungspakete kopiert werden, würde ich die any
Einschränkung verwenden und eine Lockdatei einchecken, um ein gutes Beispiel zu geben.
Anwendungen, die auch wiederverwendbare Bibliotheken haben ; Pakete mit einem
lib
-Verzeichnis für allgemeine Funktionen, die keinen Sinn ergeben, ein separates Paket zu erstellen, aber auch einweb
-Verzeichnis für eine vollwertige Anwendung.
Alle Anwendungen sollten ihren Code in das Verzeichnis lib
stellen. Das web
-Verzeichnis sollte nur die Einstiegspunkte enthalten. Dies ist also nur ein Standard-Anwendungspaket, das die Einschränkung any
verwenden und eine Sperrdatei einchecken soll.
Tags und Links dart versioning semantic-versioning dart-pub