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


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

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 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 de vendor en fait, en fonction du projet, nous pouvons voir l'un ou l'autre ou les deux ...
  • dist: De ce que j'ai vu, il contient les fichiers "production", celui 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.


80
2018-04-03 15:46


origine


Réponses:


Réponse à la question principale ...

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

La structure des dossiers diffère pour les systèmes de génération et le langage. Voici quelques conventions standard ...

  • src/: fichiers "sources" pour construire et développer le projet.
  • dist/: "distribution", le code / bibliothèque compilé.
  • lib/: dépendances externes (lorsqu'elles sont incluses directement).
  • test/: les scripts de test du projet, les simulacres, etc.
  • vendor/: les dépendances sont généralement placées ici via la gestion des dépendances.
  • bin/: fichiers ajoutés à votre PATH une fois installés.

Des dossiers:

  • README.md: lisez toujours ceci en premier.
  • LICENSE.md: tout droits donné à vous concernant le projet.
  • CONTRIBUTING.md: comment aider avec le projet.

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.

113
2017-10-10 08:00



Pour répondre à votre question originale sur le sens de la dist dossier:

La forme courte dist représente distributable et fait référence à un répertoire où les fichiers seront stockés et peuvent être utilisés directement par d'autres sans avoir besoin de compiler ou de minimiser le code source en cours de réutilisation.

Exemple: Si je veux utiliser le code source d'une bibliothèque Java que quelqu'un a écrit, vous devez d'abord compiler 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 dist annuaire.

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 distribuer une bibliothèque JavaScript, il est conseillé de placer le code source brut (non minifié) dans un fichier. src (source) répertoire et la version minifiée et obscurcie dans le dist Directoy (distribuable), afin que les autres utilisateurs puissent récupérer la version réduite sans avoir à la minimiser eux-mêmes.

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


37
2017-11-01 14:04



Résumé des dossiers:

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

1