OK, então a última coisa que eu quero fazer é refatorar o middleware.
Então, o que isso significa é basicamente agora, em uma rota de acampamento, verificamos a propriedade do
acampamento e nós temos logado e estamos duplicando está logado aqui onde nós temos logado para comentários.
E, novamente, verifique a propriedade do comentário.
Então, vamos apenas refatorar tudo isso movendo esses métodos para um novo arquivo.
Então, eu realmente vou fazer um diretório no nível superior do nosso aplicativo, faça o middleware
do diretório e depois dentro do middleware do toque.
e então poderíamos ter um middleware de comentários, mas pode fazer um arquivo porque não temos muitos.
E eu vou combinar todo o middleware em um arquivo para que possamos ter middleware de campground
E eu vou chamar isso de indexado.
J. S. e eu vou mostrar-lhe por que, em vez de chamá-lo de middleware.
Sim, eu estou chamando índice dentro do diretório do middleware.
Agora vamos abrir isso.
E então, aqui, todo o middleware vai aqui e, em seguida, também precisamos adicionar em nosso módulo que as exportações são
iguais a algo.
Então precisamos de alguns objetos.
E mostrei-lhe algumas maneiras diferentes de fazer isso.
Vamos chamar uma variável chamada objeto de middleware que ainda não existe para obedecer J.
E isso irá conter todos os métodos.
Então, vamos definir isso aqui e acabaremos por torná-lo um objeto vazio para começar e, em
seguida, adicionaremos algumas linhas que parecem esse ponto de objeto de middleware e, então, teremos cheque de propriedade
de campo é igual a uma função e então teremos objetos de middleware ponto verificar a propriedade do comentário é igual a uma função e
assim por diante.
funções no objeto de middleware e então estamos configurando módulos que exportam para ser objeto de middleware.
Então, estamos adicionando todas essas
A outra maneira que eu mostrei isso para você é exatamente assim, em vez de aqui, apenas adicionamos a propriedade de
campground de cheques como uma função que também está bem.
Mas eu só quero mostrar-lhe outra sintaxe ao invés de definir todas as funções ao mesmo tempo quando
definimos o objeto.
Podemos fazê-lo depois do fato e, então, da outra maneira que você vai vê-lo ocasionalmente.
É assim como não existe variável.
Você só tem um objeto aqui.
E então, todos os seus dados entram lá.
Então, todos eles vão funcionar.
Nós faremos um objeto de middleware para descobrir isso como um objeto e depois adicionaremos nosso código.
Então, nós começamos o ponto de objeto do middleware. A propriedade do acampamento é igual à função gigante e nós vamos continuar e copiá-lo do
campo de acampamento Sim ou acampamento, apenas copie tudo isso, vamos cortá-lo e teremos que fazer
uma mudança ou duas porque não precisamos definir esse nome novamente, mas precisamos
desses argumentos que eu também me importo com uma grande variedade de chaves.
Isso ultrapassou esse pouco.
Parece bom.
Faremos exatamente a mesma coisa desta vez.
Verificações verificar comentários.
E vamos copiar isso aqui.
Corte também.
Pagar
configurado e você quer resposta de solicitação de função e, além disso, também.
De qualquer jeito.
Ótimo.
E então temos o nosso último que está conectado.
Então corte-o daqui e eu vou cortá-lo daqui também é idêntico.
ESTÁ BEM.
Agora vamos ao nosso middleware e apenas adicione isso para entrar no meio inferior onde
o objeto está logado é igual à resposta da solicitação da função a seguir.
Mesmo código.
adicionamos tudo no objeto de middleware de um objeto que era então grande parte dessa exportação no final.
Nós simplesmente mudamos isso para este novo arquivo e nós
Ótimo.
Agora precisamos exigir esse índice de arquivo, como dentro do diretório do middleware.
Então, vamos começar com o acampamento e no topo, vamos apenas exigir middleware e para fazer isso, precisamos primeiro descobrir
com base em onde estamos, o que é em vez do acampamento de rotas.
Sim, como podemos indexar esse endereço em vez do middleware.
Bem, precisamos fazer o backup de um diretório no 10 e então precisamos entrar no middleware.
Então, precisamos de um VAR, vamos chamá-lo de equivalentes de middleware exigidos e é uma barra de ponto ponto.
Então, isso nos leva ao 10 middleware slash e nós poderíamos fazer esse índice.
Sim.
Mas o motivo que eu queria mostrar para você, queremos que nos mencionemos nos indexados, é
que, na verdade, existe um nome especial que, se exigimos um diretório, mas não um arquivo, se eu apenas precisar de middleware, ele
exigirá automaticamente o conteúdo do índice Dot.
Sim, é suposto ser como a casa onde o arquivo principal onde outras coisas são necessárias.
Então, na verdade, se olharmos no diretório dos módulos do nó, onde você está dentro.
Aqui vamos nós.
Vejamos o Express.
Você pode ver que existe um índice como arquivo e índice que Julius é o único arquivo que é realmente necessário quando
exigimos o diretório Express e requer um monte de outros arquivos por sua vez.
E esses arquivos podem exigir um monte de outros.
Mas isso é realmente importante.
Índice como, por exemplo, um nome especial, portanto, não precisamos fazer um índice de barras, como simplesmente o deixamos
como middleware dot dot sized.
o middleware porque nenhuma dessas funções está definida é registrada em verificar a propriedade do acampamento.
Agora, precisamos usar
Esses não existem.
Eles estão todos dentro dos objetos do middleware agora, assim como o ponto
do middleware conectado, significa que a mesma coisa está registrada aqui e aqui e aqui.
E, finalmente, vamos economizar.
E precisamos fazer o mesmo no nosso arquivo de comentários.
Aqui vamos nós.
E nós só queremos middleware.
Dot está bem no meio onde o Dot está logado.
A mesma coisa para verificar a propriedade comum verifica a propriedade comum.
E mais uma verificação de propriedade de comentários.
Então, o que fizemos é duas coisas.
Primeiro, nós limparam um pouco os arquivos da rota.
Eles não têm esses middleware extras na parte inferior que são bastante longos na verdade.
Se você der uma olhada.
este código duas vezes e logicamente e qualquer outro middleware futuro que possamos precisar que vamos compartilhar em diferentes arquivos.
Mas nós também não estamos mais escrevendo
Não temos duplicidade.
Nós apenas os adicionamos a este arquivo.
Tudo bem.
Certifique-se de que funciona.
Como teste final.
Não há problemas aqui, o que
é bom e tudo parece ser bom, mas nós realmente temos um problema.
Se eu clicar em excluir, isso ilustra que o acampamento não está definido dentro do índice de barramento do middleware,
como o objeto de middleware da Linha 6, na propriedade do campo de seleção.
Se olharmos para dentro do nosso arquivo de middleware, verifique que a propriedade do acampamento me diz que o acampamento
não foi definido um mês 6.
O que eu preciso fazer é exigir acampamento.
Até agora, o acampamento baseado em onde estamos dentro do diretório de middleware tecnicamente dos 10 que
eu preciso fazer exige que os modelos de barra de pontos de ponto reduzem os campgrounds e depois o dupliquem e façam o
mesmo para comentários.
Exigir que o Slash modelo reduz os comentários
salvo novamente reiniciar novamente atualizar logon novamente.
Sirius Black.
Agora, se eu tentar e excluir isso, tudo funciona bem.
E dang it.
Agora estou em um outro acampamento.
Ah, as coisas que faço para esta classe.
OK, então apenas cheque e ainda funciona.
Aqui vamos nós.
Então, o que estava acontecendo é que não precisávamos de dependências corretas e não sabia disso até que
realmente tentássemos executar o código uma vez que o acampamento necessário para comentar.
Tudo é bom para ir.
Tudo bem, então, tudo o que realmente fizemos, foi mover algum código para um arquivo separado
e exigir esse arquivo, mas limpa nossas rotas um pouco e também é bom porque agora temos
outros middleware que precisamos adicionar.
estrutura criada para colocar um lugar e é muito fácil exigê-los por todo o lugar.
Nós temos uma pequena
Impressionante.
Então, isso envolve o crud completo para um acampamento nos comentários.
Agora você pode criar atualização de leitura e excluir campgrounds e você pode criar atualização de leitura e excluir
comentários também e essas permissões lá, então há autorização e autenticação para que você não possa criar algo
para você não estar logado.
Você não pode editar algo ou excluir algo se você não estiver logado e se ele não pertence a
você, mas você pode ler um comentário ou pode ler um acampamento se você estiver logado ou não, não importa .
A mesma coisa para comentários.
Então, temos três tipos de níveis de permissões.
Um é que você pode fazer qualquer.
Você pode ler algo para não ter logado em você pode criar algo se você estiver logado não importa
quem você é embora.
Em teoria, você pode editar e atualizar algo, mas depende de quem você é.
de ver uma mensagem de erro que aparece diz que criou isso com sucesso ou você não tem
permissão para fazer isso ou faça login ou senha incorreta, por isso torna as coisas muito mais utilizáveis.
Em seguida, vamos adicionar alguns outros recursos divertidos e aquele que, com expectativa, é o mais emocionante ou que
tornará o aplicativo mais útil é algo chamado de mensagens Flash, por isso é uma maneira
Então veremos isso em breve.