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

Depuis que j’ai vu un répertoire dist/ dans de nombreux projets open source, généralement sur GitHub, je me demandais ce que cela signifiait. (Je suis étranger, pas natif en anglais)

Avec dist , vendor , lib , src et beaucoup d’autres noms de dossiers que nous voyons 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 minifiée, dépendent du projet.
  • fournisseur: contient d’autres dépendances, comme d’autres projets open source.
  • lib: Bonne question, c’est vraiment proche du vendor 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 “production”, ceux que nous devrions utiliser si nous voulons utiliser la 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.

Pour répondre à ta question:

/dist signifie “dissortingbution”, 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 sources originaux, avant d’être compilés dans un nombre de fichiers inférieur à dist/ , public/ ou build/ .
  • dist/ : “dissortingbution”, le code / bibliothèque compilé, également nommé public/ ou build/ . Les fichiers destinés à la production ou à un usage public sont généralement situés ici.
  • lib/ : dépendances externes (lorsqu’elles sont incluses directement).
  • test/ : les scripts de test/ du projet, les simulacres, etc.
  • vendor/ dépendances vendor/ : sont généralement placées ici via la gestion des dépendances.
  • bin/ : fichiers ajoutés à votre PATH une fois installés.

Markdown / Fichiers texte:

  • README.md : Un fichier d’aide qui adresse la configuration, les didacticiels et documente le projet. README.txt est également utilisé.
  • LICENSE.md : tout droit qui vous est donné concernant le projet. LICENSE.txt 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 (cela pourrait durer éternellement):

  • package.json : décrit la bibliothèque et les dépendances (si un package JS).
  • composer.json : comme ci-dessus mais pour les paquets PHP via composer.
  • .travis.yml : fichier de configuration pour l’environnement CI Travis .
  • .gitignore : Spécification des fichiers à ignorer par Git.

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

Le raccourci dist synonyme de dissortingbutable et fait référence à un répertoire dans lequel seront stockés des fichiers pouvant être utilisés directement par d’autres utilisateurs sans avoir à comstackr ou à minimiser le code source réutilisé.

Exemple: Si je souhaite utiliser le code source d’une bibliothèque Java que quelqu’un a écrit, vous devez d’abord comstackr les sources pour les utiliser. Mais si un auteur de bibliothèque place déjà la version précompilée dans le référentiel, vous pouvez simplement continuer. Une telle version déjà compilée est enregistrée dans le répertoire dist .

Quelque chose de similaire s’applique aux modules JavaScript. Le code JavaScript est généralement minifié et obscurci pour être utilisé dans la production. Par conséquent, si vous souhaitez dissortingbuer une bibliothèque JavaScript, il est conseillé de placer le code source brut (non minifié) dans un répertoire src (source) et la version minifiée et obscurcie dans le répertoire dist (dissortingbuable), afin que les autres utilisateurs puissent saisir le minified. la version tout de suite sans avoir à la minimiser 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.

Résumé des dossiers:

  • bin: binarys
  • src: source
  • inclure: en-têtes C / C ++
  • lib: bibliothèques C / C ++
  • consortingb: consortingbution d’autres personnes
  • doc / docs: documentations
  • man: manual (Unix / Linux)