web-dev-qa-db-fra.com

Quelle est la signification du répertoire / dist dans les projets open source?

Depuis que j'ai vu un dist/ répertoire dans de nombreux projets open source, généralement sur GitHub, je me demandais ce que cela voulait dire. (Je suis un étranger, pas de langue maternelle anglaise)

Avec dist, vendor, lib, src et de nombreux autres noms de dossiers que nous voyons assez souvent, je me demande parfois comment nommer mes propres dossiers. .

Corrige moi si je me trompe!

  • src: contient les * sources **. Parfois, seules les sources pures, parfois avec la version abrégée, dépendent du projet.
  • fournisseur: contient d'autres dépendances, comme d'autres projets open source.
  • lib: Bonne question, c'est vraiment proche de vendor en fait, selon le projet, on peut voir l'un ou l'autre ou les deux ...
  • dist: D'après ce que j'ai vu, il contient les fichiers "de production", ceux que nous devrions utiliser si nous voulons utiliser le bibliothèque.

Pourquoi l'open source est-il si déroutant? N'est-il pas possible de faire les choses plus clairement? Au moins par langue car certaines langues utilisent des noms spécifiques.

120
Vadorequest

Pour répondre à ta question:

/dist Signifie "distribution", le code/bibliothèque compilé.

La structure des dossiers varie en fonction du système de génération et du langage de programmation. Voici quelques conventions standard:

  • src/: Fichiers "sources" pour construire et développer le projet. C'est là que se trouvent les fichiers source d'origine, avant d'être compilés en moins de fichiers en dist/, public/ Ou build/.
  • dist/: "Distribution", le code/bibliothèque compilé, également nommé public/ Ou build/. Les fichiers destinés à la production ou à l’utilisation publique se trouvent généralement ici.
  • lib/: Dépendances externes (lorsqu'elles sont incluses directement).
  • test/: Les scripts de test du projet, les simulacres, etc.
  • node_modules/: Inclut les bibliothèques et les dépendances pour les packages JS, utilisées par Npm.
  • vendor/: Inclut les bibliothèques et les dépendances pour les packages PHP, utilisés par Composer.
  • bin/: Fichiers qui sont ajoutés à votre PATH une fois installés.

Markdown/Fichiers texte:

  • README.md: Un fichier d'aide qui aborde la configuration, les tutoriels et documente le projet. README.txt Est également utilisé.
  • LICENSE.md: Any droits qui vous a été donné concernant le projet. LICENSE ou LICENSE.txt sont des variantes du nom du fichier de licence ayant le même contenu.
  • CONTRIBUTING.md: Comment aider avec le projet. Parfois, cela est traité dans le fichier README.md.

Spécifique (ceux-ci pourraient durer éternellement):

  • package.json: Définit les bibliothèques et les dépendances pour les packages JS, utilisées par Npm.
  • package-lock.json: Verrou de version spécifique pour les dépendances installées à partir de package.json, Utilisé par Npm.
  • composer.json: Définit les bibliothèques et les dépendances des packages PHP, utilisés par Composer.
  • composer.lock: Verrou de version spécifique pour les dépendances installées à partir de composer.json, Utilisé par Composer.
  • gulpfile.js: Utilisé pour définir les fonctions et les tâches à exécuter avec Gulp.
  • .travis.yml: Fichier de configuration pour l'environnement Travis CI .
  • .gitignore: Spécification des fichiers signifiait à ignorer par Git.
180
0xcaff

Pour répondre à votre question initiale sur la signification du dossier dist:

Le raccourci dist signifie distributable et désigne un répertoire dans lequel seront stockés des fichiers pouvant être utilisés directement par d'autres personnes sans qu'il soit nécessaire de compiler ou de réduire le code source réutilisé.

Exemple: Si je veux utiliser le code source d'une bibliothèque Java écrite par quelqu'un, vous devez d'abord compiler les sources pour pouvoir vous en servir. Mais Un auteur de bibliothèque place déjà la version précompilée dans le référentiel, vous pouvez alors continuer. Cette version déjà compilée est enregistrée dans le répertoire dist.

Quelque chose de similaire s'applique aux modules JavaScript. Généralement, le code JavaScript est réduit et obscurci pour une utilisation en production. Par conséquent, si vous souhaitez distribuer une bibliothèque JavaScript, il est conseillé de placer le code source brut (non minifié) dans un répertoire src (source) et la version simplifiée et masquée dans le dist ( distribuable) directoy, afin que d'autres puissent saisir la version minifiée immédiatement sans avoir à le réduire eux-mêmes.

Remarque: Certains développeurs utilisent des noms tels que target, build ou dest (destination) au lieu de dist. Mais le but de ces dossiers est identique.

48
Benny Neugebauer

Résumé des dossiers:

  • bin: binaires
  • src: source
  • include: en-têtes C/C++
  • bibliothèques lib: C/C++
  • contrib: contribution d'autres personnes
  • doc/docs: documentations
  • man: manuel (Unix/Linux)
3
Travor Liu