it-swarm.com.de

Was bedeutet das Verzeichnis / dist in Open Source-Projekten?

Da sah ich zum ersten Mal ein dist/ Verzeichnis in vielen Open-Source-Projekten, normalerweise auf GitHub, habe ich mich gefragt, was das bedeutet. (Ich bin ein Ausländer, kein Muttersprachler in Englisch)

Mit dist, vendor, lib, src und vielen anderen Ordnernamen, die wir häufig sehen, frage ich mich manchmal, wie ich meine eigenen Ordner benennen soll .

Korrigiere mich, wenn ich falsch liege!

  • src: Enthält die * sources **. Manchmal hängen nur die reinen Quellen, manchmal mit der verkleinerten Version, vom Projekt ab.
  • anbieter: Enthält andere Abhängigkeiten, wie andere Open Source-Projekte.
  • lib: Gute Frage, es ist tatsächlich sehr nahe an vendor, je nach Projekt können wir das eine oder andere oder beides sehen ...
  • dist: Soweit ich gesehen habe, enthält es die "Produktions" -Dateien, die wir verwenden sollten, wenn wir die Bibliothek verwenden möchten.

Warum ist Open Source so verwirrend? Ist es nicht möglich, die Dinge klarer zu machen? Zumindest pro Sprache, da einige Sprachen bestimmte Namen verwenden.

120
Vadorequest

Zur Beantwortung Ihrer Frage:

/dist bedeutet "Distribution", der kompilierte Code/die kompilierte Bibliothek.

Die Ordnerstruktur variiert je nach Build-System und Programmiersprache. Hier sind einige Standardkonventionen:

  • src/: "Quell" -Dateien zum Erstellen und Entwickeln des Projekts. Hier befinden sich die ursprünglichen Quelldateien, bevor sie zu weniger Dateien kompiliert werden, um dist/, public/ oder build/.
  • dist/: "Distribution", der kompilierte Code/die kompilierte Bibliothek mit dem Namen public/ oder build/. In der Regel befinden sich hier die für die Produktion oder den öffentlichen Gebrauch bestimmten Dateien.
  • lib/: externe Abhängigkeiten (wenn direkt eingeschlossen).
  • test/: die Testskripte, Mocks usw. des Projekts.
  • node_modules/: Enthält Bibliotheken und Abhängigkeiten für JS-Pakete, die von Npm verwendet werden.
  • vendor/: Enthält Bibliotheken und Abhängigkeiten für PHP Pakete, die von Composer verwendet werden.
  • bin/: Dateien, die bei der Installation zu Ihrem PFAD hinzugefügt werden.

Markdown/Textdateien:

  • README.md: Eine Hilfedatei, in der Setup, Lernprogramme und Dokumente des Projekts behandelt werden. README.txt wird auch verwendet.
  • LICENSE.md: Alle Rechte , die Ihnen in Bezug auf das Projekt gegeben wurden. LICENSE oder LICENSE.txt sind Variationen des Lizenzdateinamens mit demselben Inhalt.
  • CONTRIBUTING.md: wie man aushilft mit dem Projekt. Manchmal wird dies im README.md Datei.

Spezifisch (diese könnten für immer weitergehen):

  • package.json: Definiert Bibliotheken und Abhängigkeiten für JS-Pakete, die von Npm verwendet werden.
  • package-lock.json: Spezifische Versionssperre für Abhängigkeiten installiert von package.json, verwendet von Npm.
  • composer.json: Definiert Bibliotheken und Abhängigkeiten für PHP Pakete, die von Composer verwendet werden.
  • composer.lock: Spezifische Versionssperre für Abhängigkeiten installiert von composer.json, verwendet von Composer.
  • gulpfile.js: Dient zum Definieren von Funktionen und Aufgaben, die mit Gulp ausgeführt werden sollen.
  • .travis.yml: Konfigurationsdatei für die Travis CI Umgebung.
  • .gitignore: Angabe der Dateien bedeutet zu ignorieren von Git.
180
0xcaff

So beantworten Sie Ihre ursprüngliche Frage zur Bedeutung des Ordners dist:

Die Kurzform dist steht für distributable und verweist auf ein Verzeichnis, in dem Dateien gespeichert werden, die von anderen direkt verwendet werden können, ohne dass der wiederverwendete Quellcode kompiliert oder minimiert werden muss.

Beispiel: Wenn ich den Quellcode einer von jemandem geschriebenen Java Bibliothek verwenden möchte, müssen Sie zuerst die Quellen kompilieren, um sie nutzen zu können Wenn ein Bibliotheksautor bereits die vorkompilierte Version in das Repository stellt, können Sie einfach fortfahren. Eine solche bereits kompilierte Version wird im Verzeichnis dist gespeichert.

Ähnliches gilt für JavaScript-Module. Normalerweise wird JavaScript-Code für die Verwendung in der Produktion minimiert und verschleiert. Wenn Sie eine JavaScript-Bibliothek verteilen möchten, ist es daher ratsam, den einfachen (nicht minimierten) Quellcode in ein src (Quell-) Verzeichnis und die minimierte und verschleierte Version in das dist ( vertreibbar) directoy, so dass andere sofort auf die verkleinerte Version zugreifen können, ohne sie selbst verkleinern zu müssen.

Anmerkung: Einige Entwickler verwenden Namen wie target, build oder dest (Ziel) anstelle von dist. Der Zweck dieser Ordner ist jedoch identisch.

48

Zusammenfassung der Ordner:

  • bin: binaries
  • quelle: Quelle
  • include: C/C++ - Header
  • lib: C/C++ - Bibliotheken
  • contrib: Beitrag von anderen Personen
  • doc/docs: Dokumentationen
  • man: manual (Unix/Linux)
3
Travor Liu