Desde la primera vez que vi un dist/
directorio en muchos proyectos de código abierto, generalmente en GitHub, me he estado preguntando qué significa.
Con dist
, vendor
, lib
, src
, y muchos otros nombres de las carpetas que vemos muy a menudo, a veces me pregunto cómo debo nombrar mis propias carpetas.
¡Corrígeme si me equivoco!
- src: contiene las fuentes . A veces solo las fuentes puras, a veces con la versión minificada, dependen del proyecto.
- proveedor: contiene otras dependencias, como otros proyectos de código abierto.
- lib: Buena pregunta, está realmente cerca
vendor
, dependiendo del proyecto, podemos ver uno u otro o ambos ... - dist: Por lo que vi, contiene los archivos de "producción", el que deberíamos usar si queremos usar la biblioteca .
¿Por qué es tan confuso el código abierto? ¿No es posible hacer las cosas más claras? Al menos por idioma porque algunos idiomas usan nombres específicos.
github
open-source
Vadorequest
fuente
fuente
Respuestas:
Para responder tu pregunta:
/dist
significa "distribuible", el código compilado / biblioteca.La estructura de carpetas varía según el sistema de compilación y el lenguaje de programación. Aquí hay algunas convenciones estándar:
src/
: archivos "fuente" para construir y desarrollar el proyecto. Aquí es donde se encuentran los archivos de origen originales, antes de compilarse en menos archivos paradist/
,public/
obuild/
.dist/
: "distribución", el código / biblioteca compilado, también llamadopublic/
obuild/
. Los archivos destinados a producción o uso público generalmente se encuentran aquí.assets/
: contenido estático como imágenes, video, audio, fuentes, etc.lib/
: dependencias externas (cuando se incluyen directamente).test/
: los guiones de prueba del proyecto, simulacros, etc.node_modules/
: incluye bibliotecas y dependencias para paquetes JS, utilizados por Npm.vendor/
: incluye bibliotecas y dependencias para paquetes PHP, utilizados por Composer.bin/
: archivos que se agregan a su RUTA cuando se instalan.Markdown / archivos de texto:
README.md
: Un archivo de ayuda que aborda la configuración, tutoriales y documentos del proyecto.README.txt
También se utiliza.LICENSE.md
: cualquier derecho otorgado a usted con respecto al proyecto.LICENSE
oLICENSE.txt
son variaciones del nombre del archivo de licencia, que tienen el mismo contenido.CONTRIBUTING.md
: cómo ayudar con el proyecto. A veces esto se aborda en elREADME.md
archivo.Específico (estos podrían continuar para siempre):
package.json
: define bibliotecas y dependencias para paquetes JS, utilizados por Npm.package-lock.json
: bloqueo de versión específica para dependencias instaladas desdepackage.json
, utilizado por Npm.composer.json
: define bibliotecas y dependencias para paquetes PHP, utilizados por Composer.composer.lock
: bloqueo de versión específica para dependencias instaladas desdecomposer.json
, utilizado por Composer.gulpfile.js
: se utiliza para definir funciones y tareas que se ejecutarán con Gulp..travis.yml
: archivo de configuración para el entorno de Travis CI ..gitignore
: Especificación de los archivos destinados a ser ignorados por Git.fuente
dist
?assets/
carpeta? ¿Qué se supone que contiene?Para responder a su pregunta original sobre el significado de la
dist
carpeta:La abreviatura
dist
significadistributable
y se refiere a un directorio donde se almacenarán los archivos que pueden ser utilizados directamente por otros sin la necesidad de compilar o minimizar el código fuente que se está reutilizando.Ejemplo: si quiero usar el código fuente de una biblioteca Java que alguien escribió, entonces primero necesitas compilar las fuentes para usarlo. Pero si el autor de una biblioteca ya coloca la versión precompilada en el repositorio, puede continuar. Dicha versión ya compilada se guarda en el
dist
directorio.Algo similar se aplica a los módulos de JavaScript. Por lo general, el código JavaScript se minimiza y se ofusca para su uso en producción. Por lo tanto, si desea distribuir una biblioteca de JavaScript, es aconsejable colocar el código fuente simple (no minificado) en un
src
directorio (fuente) y la versión minificada y ofuscada en el directoriodist
(distribuible), para que otros puedan obtener la versión minificada correctamente lejos sin tener que minificarlo ellos mismos.Nota: Algunos desarrolladores usan nombres como
target
,build
odest
(destino) en lugar dedist
. Pero el propósito de estas carpetas es idéntico.fuente
Resumen de las carpetas:
fuente
¡Realmente! "dist folder" es el resultado que obtienes después de modificar un código fuente con "npm run build" o "ng build" o "ng build --prod" para producción.
¡Mientras tanto! Después de obtener la "carpeta dist", es posible que aún haya algunas cosas que deba hacer según el tipo de proyecto ✌️
fuente