Seit ich zum ersten Mal ein dist/
Verzeichnis in vielen Open Source-Projekten gesehen habe, normalerweise auf GitHub, habe ich mich gefragt, was es bedeutet.
Mit dist
, vendor
, lib
, src
, und vielen anderen Ordnernamen , dass wir sehr oft zu sehen, manchmal frage ich mich , wie soll ich meine eigenen Ordner benennen.
Korrigiere mich, wenn ich falsch liege!
- src: Enthält die Quellen . Manchmal hängen nur die reinen Quellen, manchmal mit der minimierten Version, vom Projekt ab.
- Anbieter: Enthält andere Abhängigkeiten wie andere Open Source-Projekte.
- lib: Gute Frage, es ist wirklich sehr nahe
vendor
, je nach Projekt können wir das eine oder andere oder beide 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.
github
open-source
Vadorequest
quelle
quelle
Antworten:
Zur Beantwortung Ihrer Frage:
/dist
bedeutet "verteilbar", 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. Dies ist , wo die ursprünglichen Quelldateien befinden, bevor sie in weniger Dateien kompiliert werdendist/
,public/
oderbuild/
.dist/
: "Distribution", der kompilierte Code / die kompilierte Bibliothek, auch benanntpublic/
oderbuild/
. Die Dateien, die für die Produktion oder den öffentlichen Gebrauch bestimmt sind, befinden sich normalerweise hier.assets/
: statische Inhalte wie Bilder, Video, Audio, Schriftarten usw.lib/
: externe Abhängigkeiten (wenn direkt enthalten).test/
: die Testskripte, Mocks usw. des Projektsnode_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 PATH hinzugefügt werden.Markdown / Textdateien:
README.md
: Eine Hilfedatei, die sich mit Setup, Tutorials und Dokumentationen des Projekts befasst.README.txt
wird auch verwendet.LICENSE.md
: Alle Rechte , die Ihnen in Bezug auf das Projekt eingeräumt wurden.LICENSE
oderLICENSE.txt
sind Variationen des Lizenzdateinamens mit demselben Inhalt.CONTRIBUTING.md
: wie man mit dem Projekt hilft . Manchmal wird dies in derREADME.md
Datei angesprochen .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ängigkeitenpackage.json
, die von Npm installiert wurden.composer.json
: Definiert Bibliotheken und Abhängigkeiten für PHP-Pakete, die von Composer verwendet werden.composer.lock
: Spezifische Versionssperre für Abhängigkeitencomposer.json
, die von Composer installiert wurden.gulpfile.js
: Wird verwendet, um Funktionen und Aufgaben zu definieren, die mit Gulp ausgeführt werden sollen..travis.yml
: Konfigurationsdatei für die Travis CI- Umgebung..gitignore
: Angabe der Dateien , die von Git ignoriert werden sollen.quelle
dist
?assets/
Ordner? Was soll enthalten?So beantworten Sie Ihre ursprüngliche Frage zur Bedeutung des
dist
Ordners:Die Kurzform
dist
steht fürdistributable
ein Verzeichnis, in dem Dateien gespeichert werden, die direkt von anderen verwendet werden können, ohne dass der wiederverwendete Quellcode kompiliert oder minimiert werden muss.Beispiel: Wenn ich den Quellcode einer Java-Bibliothek verwenden möchte, die jemand geschrieben hat, müssen Sie zuerst die Quellen kompilieren, um sie verwenden zu können. Wenn ein Bibliotheksautor jedoch bereits die vorkompilierte Version in das Repository einfügt, können Sie einfach fortfahren. Eine solche bereits kompilierte Version wird im
dist
Verzeichnis 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 dasdist
(verteilbare) Verzeichnis zu stellen, damit andere die minimierte Version richtig greifen können weg, ohne es selbst minimieren zu müssen.Hinweis: Einige Entwickler verwenden , um Namen wie
target
,build
oderdest
(Ziel) stattdist
. Der Zweck dieser Ordner ist jedoch identisch.quelle
Zusammenfassung der Ordner:
quelle
Tatsächlich! "dist folder" ist das Ergebnis, das Sie erhalten, nachdem Sie einen Quellcode mit "npm run build" oder "ng build" oder "ng build --prod" für die Produktion geändert haben.
Inzwischen! Nachdem Sie "dist folder" erhalten haben, müssen Sie möglicherweise noch einige Dinge tun, abhängig von Ihrem Projekttyp ✌️
quelle