Eu encontro a seção sobre a estrutura do aplicativo no documentação oficial bastante confuso para mim. Primeiro diz
Os únicos ativos do servidor são JavaScript e arquivos no ambiente privado subdiretório.
mas então imediatamente
Meteor reúne todos os seus arquivos JavaScript, excluindo qualquer coisa sob o subdiretórios cliente, público e privado ...
e depois
O Meteor reúne todos os arquivos JavaScript em sua árvore, com exceção do servidor, subdiretórios públicos e privados, para o cliente ...
e
Arquivos fora do cliente, servidor e subdiretórios de testes são carregados no cliente e no servidor!
Isso parece contraditório para mim. Por exemplo, e se eu colocar alguns arquivos JavaScript em private
, eles serão reunidos pelo Meteor? Por 1 e 3, sim e apenas para o servidor; por 2, não; por 4, sim e para o servidor e cliente.
Uma possível explicação é que o conjunto "arquivos JavaScript" não é um subconjunto do conjunto "arquivos", o que não é logicamente correto. eu sei esta resposta forneceu uma tabela clara para a estrutura e posso, em última análise, recorrer a ela. Mas ainda preciso de alguém para esclarecer a ambigüidade dessa parte na documentação oficial. Obrigada.
Respostas:
2 para resposta № 1Primeiro, devo dividir os arquivos em 3 tipos de classes
- Arquivos que são analisados pelo Meteor como parte do projeto (não considerados estáticos)
- Arquivos que são considerados parte do Meteor, mas são estáticos
- Outros arquivos como os necessários para os testes
Os únicos ativos do servidor são JavaScript e arquivos no subdiretório privado.
Esses arquivos são considerados "estáticos" e os arquivos js privados não são executados. O que isso significa é que os arquivos em private
e server
não são visíveis para o cliente. (Parte de 2 nos critérios acima)
Os arquivos fora dos subdiretórios de cliente, servidor e testes são carregados no cliente e no servidor!
Deve dizer privado e público também, private
e public
os arquivos não são carregados no navegador. (Eles são mencionados dessa forma, mas são em referência a 1), portanto, a linguagem confusa
Resumo
Testes - Usado apenas para testes, não analisado pelo Meteor
privado Armazenar arquivos estáticos que não são analisados por meteoro que o navegador não pode acessar, podem ser acessados pelo servidor apenas via Ativos
público Armazenamento de arquivos estáticos que o navegador pode acessar, mapeados para o /
caminho
servidor Os arquivos são executados apenas no servidor e são analisados como parte do Meteor,
cliente Os arquivos só funcionam no navegador da web e fazem parte do Meteor
pacotes Armazena pacotes que meteoros irão analisar em umforma especial, não pode conter nada além de pacotes Meteor. Pode conter código que é considerado parte das pastas privada, pública, cliente ou servidor.
. (Pastas e arquivos começando com.) - Ignorado
.. ~ - Pastas que terminam com o tilde
- Ignorado
Algo mais Analisado como parte do Meteor, e roda tanto no lado do cliente quanto no lado do servidor.
Tudo o que é executado pelo cliente ou servidor e analisado pelo Meteor é geralmente concatenado e reduzido na produção.
Arquivos estáticos acessíveis pelo cliente - notas Eles serão separados do aplicativo e executados em uma pasta estática virtual na produção (por exemplo, imagens, fontes, vídeos, arquivos não js)
Esta não é uma tabela como a outra questão, que explica como estruturar um aplicativo, mas mais como o Meteor interpreta os arquivos nas pastas acima.