Desde que vi pela primeira vez um dist/
diretório em muitos projetos de código aberto, geralmente no GitHub, fiquei pensando o que isso significa.
Com dist
, vendor
, lib
, src
, e muitos outros nomes de pastas que vemos muitas vezes, às vezes me pergunto como devo nomear minhas próprias pastas.
Corrija-me se eu estiver errado!
- src: Contém as fontes . Às vezes, apenas as fontes puras, às vezes com a versão minificada, dependem do projeto.
- fornecedor: contém outras dependências, como outros projetos de código aberto.
- lib: Boa pergunta, é realmente muito próximo
vendor
, dependendo do projeto, podemos ver um ou outro ou ambos ... - dist: Pelo que vi, ele contém os arquivos de "produção", o que devemos usar se quisermos usar a biblioteca .
Por que o código aberto é tão confuso? Não é possível fazer as coisas com mais clareza? Pelo menos por idioma, porque alguns idiomas usam nomes específicos.
github
open-source
Vadorequest
fonte
fonte
Respostas:
Para responder sua pergunta:
/dist
significa "distribuível", o código / biblioteca compilado.A estrutura de pastas varia de acordo com o sistema de compilação e a linguagem de programação. Aqui estão algumas convenções padrão:
src/
: arquivos "de origem" para criar e desenvolver o projeto. É aqui que os arquivos de origem originais estão localizados, antes de serem compilados em menos arquivos paradist/
,public/
oubuild/
.dist/
: "distribuição", o código / biblioteca compilado, também chamadopublic/
oubuild/
. Os arquivos destinados à produção ou uso público geralmente estão localizados aqui.assets/
: conteúdo estático, como imagens, vídeo, áudio, fontes etc.lib/
: dependências externas (quando incluídas diretamente).test/
: scripts de testes do projeto, zombarias etc.node_modules/
: inclui bibliotecas e dependências para pacotes JS, usados pelo Npm.vendor/
: inclui bibliotecas e dependências para pacotes PHP, usados pelo Composer.bin/
: arquivos que são adicionados ao seu PATH quando instalados.Markdown / arquivos de texto:
README.md
: Um arquivo de ajuda que aborda a instalação, os tutoriais e documenta o projeto.README.txt
também é usado.LICENSE.md
: quaisquer direitos concedidos a você em relação ao projeto.LICENSE
ouLICENSE.txt
são variações do nome do arquivo de licença, com o mesmo conteúdo.CONTRIBUTING.md
: como ajudar com o projeto. Às vezes isso é endereçado noREADME.md
arquivo.Específico (isso pode durar para sempre):
package.json
: define bibliotecas e dependências para pacotes JS, usados pelo Npm.package-lock.json
: bloqueio de versão específica para dependências instaladas a partir depackage.json
, usadas pelo Npm.composer.json
: define bibliotecas e dependências para pacotes PHP, usados pelo Composer.composer.lock
: bloqueio de versão específica para dependências instaladascomposer.json
, usadas pelo Composer.gulpfile.js
: usado para definir funções e tarefas a serem executadas com o Gulp..travis.yml
: arquivo de configuração para o ambiente do Travis CI ..gitignore
: Especificação dos arquivos que devem ser ignorados pelo Git.fonte
dist
?assets/
pasta? O que deveria conter?Para responder à sua pergunta original sobre o significado da
dist
pasta:O atalho
dist
representadistributable
e refere-se a um diretório em que os arquivos serão armazenados que podem ser usados diretamente por outras pessoas, sem a necessidade de compilar ou minificar o código-fonte que está sendo reutilizado.Exemplo: se eu quiser usar o código-fonte de uma biblioteca Java que alguém escreveu, será necessário compilar as fontes primeiro para usá-lo. Mas se o autor de uma biblioteca já colocar a versão pré-compilada no repositório, você poderá seguir em frente. Essa versão já compilada é salva no
dist
diretório.Algo semelhante se aplica aos módulos JavaScript. Normalmente, o código JavaScript é minificado e ofuscado para uso na produção. Portanto, se você deseja distribuir uma biblioteca JavaScript, é recomendável colocar o código-fonte simples (não minificado) em um
src
diretório (fonte) e a versão minificada e ofuscada no diretóriodist
(distribuível), para que outros possam pegar a versão minificada corretamente embora sem ter que reduzi-los eles mesmos.Nota: Alguns desenvolvedores usam nomes como
target
,build
oudest
(destino) em vez dedist
. Mas o objetivo dessas pastas é idêntico.fonte
Resumo das pastas:
fonte
Na realidade! "pasta dist" é o resultado que você obtém após modificar um código fonte com "npm run build" ou "ng build" ou "ng build --prod" para produção.
Entretanto! Depois de obter a "pasta dist", ainda existem poucas coisas que você ainda precisa fazer, dependendo do tipo de projeto ✌️
fonte