Bem, volte nesta lição, vamos continuar a trabalhar no campo, mas não vamos
adicionar novos recursos ou funcionalidades.
Nós apenas vamos refatorar o código existente.
Então, falei sobre a refatoração das rotas e da nossa aplicação J. S. por um longo tempo, e acabou de
crescer cada vez mais fora de controle e temos código suficiente aqui que garante a refatoração e nós
vamos nos concentrar nas rotas.
Então, deixe-me apenas destacar os diferentes grupos de rotas que temos agora.
Nós temos nossas rotas de autenticação cerca de 40 linhas de algo aqui e nós temos umas rotas de comentários lá.
E então também temos nossas gotas de acampamento que vão mais ou menos 40 linhas aqui.
Então, esses são os três principais grupos de rotas que temos.
E nós vamos dividi-los em três arquivos diferentes e, em seguida, exigiremos
todos eles assim teremos um requisito de um cais que se pareça com as rotas de comentário var e que precisa e teremos os comentários da
barra de diretório da rota.
Então, precisamos fazer isso funcionar.
Não vai funcionar agora e faremos o mesmo para o acampamento e para a nossa garganta.
E essa é apenas a primeira parte.
Divide as coisas em arquivos diferentes e depois vou mostrar-lhe de outra forma, podemos reduzir nossas
rotas ainda mais e tornar as coisas um pouco mais limpas usando o roteador Express.
Então, vamos chegar a isso, mas vou começar por fazer o diretório de uma rota e
estou trabalhando dentro de 7 neste momento porque estamos fazendo mudanças substanciais na estrutura da aplicação e nos diretórios.
Então, seria muito confuso se eu não fizesse uma nova versão.
Nós vamos fazer um diretório chamado de rotas e, em seguida, faremos
três diferentes rotas de arquivos cortar acampamentos. As rotas dos EUA roçam comentários para nós e roteiam a barra de barras e podemos
chamar isso de J. S. para as rotas multifuncionais que não estão relacionadas a um modelo específico.
ou podemos chamar de índice que é outro que você verá frequentemente
E irei com isso por enquanto.
Índice Sim.
Então vamos abrir aqueles e se nós fizermos C9 em um diretório que abrirá, todos os três aparecerão.
E então, podemos simplesmente clicar nos que queremos.
Então, agora temos essa subárvore pequena que fomos favoráveis.
Comecemos por trabalhar com os acampamentos para abrir e eu só vou copiar todas as rotas do acampamento
para fora daqui.
Então, isso começa aqui e isso desce até nossas rotas de comentários lá.
E vamos colar isso em acampamentos e não é só funcionar automaticamente fora da caixa.
Teremos que mudar algumas coisas.
Mas comecemos simplesmente dividindo os arquivos.
Então, depois vou trabalhar com os comentários e só temos 2 rotas de comentários ou não.
Então, eu tomarei ambos os colocados neste arquivo.
Por fim, vamos abrir o índice sim e adicionaremos a outra rota para que possamos nossa rota de rota.
nós estaremos refatorando isso separadamente, mas isso pertence às rotas de autenticação porque é aí que o estamos usando.
E então, as rotas de autenticação bem abaixo até aqui e eu vou levar isso está logado junto
com nós e
E também é uma dependência das rotas de comentários.
Sim, nós estamos usando também está logado aqui.
Então, vamos copiar tudo isso.
Então, é logado todo o caminho até todas as rotas, incluindo a rota rota.
E agora nós realmente limpamos o arquivo de acesso.
Vamos colar isso no índice yes e guardar.
E estamos recebendo erros em todo o lugar porque nossos arquivos não sabem a que aplicativo está se referindo.
Como você pode ver, um dos problemas está em execução.
Mas na verdade, não vamos declarar um aplicativo variável como o que faríamos no passado, onde nós fazemos
o nosso aplicativo igual a Express.
Vamos fazer algo ligeiramente diferente.
Nós vamos usar o roteador expresso e a máquina com que parece começar.
expressivo aqui para expressar igual a exigir expressar e, em seguida, vamos escrever var roteador
igual ao roteador de ponto expresso e então vamos adicionar todas as rotas ao roteador em vez do aplicativo.
Nós vamos exigir
E vamos fazer isso primeiro apenas para mostrar e então vou explicar por que isso vale a pena fazer.
Então vamos fazer isso.
E então, é claro, temos que exportar algo desse arquivo e tudo o que precisamos exportar é o
roteador, de modo que o módulo que exporta é igual ao roteador.
Por isso, criamos essa variável de roteador igual a expresso roteador de pontos, basicamente, uma nova instância do
roteador Express e depois estamos adicionando todas as rotas ao roteador, deixando de adicioná-las ao próprio aplicativo.
Mas para este roteador e depois estamos retornando ou exportando o roteador no final.
E isso é acampamento que sim.
E se eu for para o meu aplicativo sim, vou começar por exigir todos os meus arquivos de roteador.
Então, eu vou fazer isso separadamente das outras dependências de rotas de comentários variados
e depois teremos rotas de acampamento, o Eco exigirá rotas de barras de barras de acampamento.
E então também temos Auth. e fará tudo ao longo de iguais e todos agrupados bem.
É tipo isso.
O OK requer um gráfico de barra de barras de barras de ponto e podemos chamar esse índice de Raf se quiser.
OK, então vamos salvar isso.
Agora estamos importando ou exigindo esses três arquivos.
Mas isso não é suficiente para nós realmente estar usando eles ainda.
Nós exigimos os arquivos e apenas um deles, a propósito, está realmente exportando qualquer coisa.
Os comentários e o índice j s ainda são problemáticos.
Mas se voltarmos para o Apter Sim, precisamos escrever um aplicativo que eu uso.
Então, eu vou fazer isso aqui e vou mostrar o que parece primeiro depois que eu uso.
E então precisamos dar o nome das rotas que nós precisamos.
Então, comente rotas de campground e rotas de índice.
Então vamos fazer isso.
Então, vamos começar com rotas de índice e, em seguida, outra atualização usará rotas de comentários.
E, depois, outro depois é o cenário do acampamento e isso diz que estamos dispostos a usar os três
arquivos de rotas que pedimos no momento, apenas o acampamento J us realmente configurado corretamente.
Então, vamos terminar com os outros comentários J us e vamos mudar todos esses pontos do ponto do roteador do ponto do
aplicativo e, em seguida, na parte inferior, nós fazemos o módulo que exporta igual a roteador e salvar, mas ainda temos
alguns problemas.
Você pode ver está logado.
Precisamos definir que o acampamento não está definido.
E isso também está reclamando que o acampamento não está definido.
Então, precisamos ter certeza de que estamos adicionando os modelos corretos também.
Então aqui em cima, vamos fazer outro passo e não começar com os equais do acampamento exigem.
E precisamos obter o caminho correto do arquivo.
Então, agora, estamos dentro do diretório de rotas e precisamos entrar no site do diretório de modelos.
Sim.
de barras de ponto ponto slash e, em seguida, também importaremos comentários que precisam ser comentários de barra de modelos.
Então, precisamos fazer um conjunto
Esses são os dois modelos que
queremos exigir aqui e salvaremos, mas ainda temos esse problema de ter logado e começar. Eu apenas vou copiar o
código está logado.
Então está no fundo deste.
Então copie isso em ambos os lugares para que possamos mantê-lo em nossas rotas de índice.
Também vamos adicioná-lo à nossa rota de comentários e basta colocá-los na parte inferior por agora e salvar.
E agora que o ar se afasta e nós somos livres de ar, nós vamos entrar neste arquivo.
Agora é endereço nosso índice J. S. onde há um pouco mais para se preocupar
porque estamos usando algum outro código que vai vomitar alguns problemas.
Então, precisamos começar com o nosso código que exige expressar e, em seguida, cria
o roteador Express, basta copiá-lo aqui.
Definir e, em seguida, vamos mudar todas essas aplicações para o roteador, obter mensagens roteadas assim como
isso e salvar.
Nós temos um problema.
Está reclamando que o passaporte não está definido e é porque não está definido.
Então, tudo o que precisamos fazer é que um passaporte VAR seja igual a requerer passaporte.
E estamos quase lá, mas também temos um problema onde o usuário não está definido.
Portanto, precisamos definir o usuário para que nossos usuários sejam iguais, exigem que os modelos de barra de pontos de ponto reduzem o usuário.
Então, você provavelmente percebeu que, para que possamos dividir as coisas nos arquivos separados e manter
nosso aplicativo apenas agradável e limpo.
Isso significa que temos que exigir as coisas um pouco mais frequentemente e essa é a única desvantagem.
É um código um pouco mais para exigir coisas, mas, a longo prazo, faz muito mais sentido quebrar
um código como esse.
Mantenha as coisas organizadas com algum tipo de ordem e estrutura para o nosso aplicativo e isso pode significar uma
ou mais linhas adicionais aqui, mas mantém seu arquivo do Applecross agradável e curto.
Ok, então, se tentarmos testar isso agora, temos nossas três rotas que exigimos que todos
esses arquivos agora sejam configurados onde eles tenham as importantes dependências necessárias.
Os modelos expressam um roteador expresso e, em seguida, estamos exportando no fundo de todos eles, embora não
o façamos neste que precisamos fazer um índice como o módulo, mas as exportações são iguais ao roteador. Agora, se
tentarmos iniciar a aplicativo.
Vamos ver se nós temos algum erro.
Isso parece bom.
Vamos testá-lo.
Então, iremos para o caminho da raiz para começar essa rota está funcionando.
Sinta os campgrounds.
Temos um problema aqui, não definimos o acampamento em vez da rota dos acampamentos.
Então precisamos abrir o acampamento J. S. e apenas adicione nos nossos parques de campo VAR,
exigem modelos de barras de ponto ponto como o nosso nos outros arquivos.
Certifique-se de que não haja outros erros aqui.
Isso parece bom.
Reinicie o servidor e experimente novamente.
Agora estamos indo para ir.
Então, estamos vendo a página do show.
Vamos voltar.
Experimente e faça o login.
Ótimo.
Senha de Severus e tudo funciona bem.
O que é ótimo.
Na verdade, foi uma mudança maior que podemos fazer para secar ou codificar um pouco e isso tem a ver
com esta linha. Aqui estão essas três linhas, na verdade, o que estamos fazendo depois de usar rotas de
índices rotas de campground e comentar as rotas do que podemos fazer é encurtar as declarações de rotas.
Então, vamos dar um exemplo de rotas de comentários em comum Jay.
Sim.
no final de uma delas ou na página de seca do acampamento se eu abrir isso, você pode ver que todos começam
com acampamentos Slash e realmente podemos reduzir essa duplicação quando os exigimos no nosso aplicativo.
As duas rotas que todos começamos com acampamentos cortaram os comentários de barramentos de IDs acalma os comentários
de barra de identificação e, em seguida, temos a Slash sabia
Sim.
Então vamos começar com o acampamento.
Posso dizer que todas as rotas de acampamento devem começar com os acampamentos da Slash e vamos levar todas essas rotas
do acampamento G-S que buscamos encontrar essas rotas aqui e acrescentar um acampamento de barraca à sua frente.
Então, se fossem fazer essa mudança, então precisamos ir ao arquivo JS de um acampamento e nos livrar de todos
os acampamentos de barraca.
Então, o índice agora para mostrar todos os campgrounds é apenas uma barra.
O criar é apenas cortar o nosso novo é apenas cortar Novo nosso show.
É apenas uma identificação curta e isso é tudo o que temos.
Então, vamos economizar e o que isso faz de novo é que é necessário rotas de acampamentos que todas essas rotas
foram definidas nesse arquivo e acrescenta acampamentos de barraca à sua frente.
que todos começam com Slash se quisermos que todos eles combinem com esse padrão onde fornecemos
a corda primeiro e vamos testar que iniciar o servidor atualizar na página de campgrounds
que agora está funcionando mesmo que a rota em si vá para o acampamento.
Então, ajuda-nos a limpar o código e podemos fazer a mesma coisa, embora para as rotas de índice não haja nada em comum que desejemos manter na
frente deles, então podemos deixar como é ou podemos simplesmente dizer
Sim, a rota de índice é apenas uma barra.
Na verdade, é corte de acampamento por causa desta linha aqui.
Então comente rotas.
É um pouco mais complicado, porque todos começam com os comentários de slash de identificação do ponto de corte do acampamento Slash
e, então, podemos acessar o comentário do arquivo de comentário, usamos rotas e mude tudo isso para
que este seja apenas novo.
E isso é apenas slash.
Por isso, diminuímos muito as rotas e agrupamos as coisas nessas idéias, esses tópicos para que todas as rotas
do acampamento começem com os acampamentos Slash e podemos escrever declarações de rotas mais curtas.
E isso é especialmente verdadeiro com os comentários, onde não precisamos fornecer esse prefixo longo aqui, mas
há um problema.
Se salvarmos, certifique-se de salvar o arquivo de comentários e voltar
e reiniciar e atualizar e vamos para uma das rotas de comentários, como adicionar um novo comentário.
Primeiro, teremos que fazer login, é claro.
Então vou fazer login no Severus e tentar isso novamente.
E agora eu tento e adiciono um comentário.
Nós temos um problema e é difícil dizer qual é o problema desse erro que sempre é frustrante, mas
diz que não pode ler um nome de propriedade de NULL e está apontando para esta linha aqui.
Nome do campo de jogos.
Então, a partir desse erro, podemos conseguir que o acampamento seja nulo, o que significa que não está encontrando o
nosso acampamento no banco de dados porque em vez de esta rota de comentários quando criamos um novo comentário, a primeira
coisa que faz é encontrar um acampamento pelo ID.
E o que está acontecendo é que nosso ID não está sendo encontrado.
Então, podemos provar que, ao fazer uma identificação de parâmetro de solicitação de registro confidencial e não iniciar o servidor.
E isso estava funcionando bem até que mudássemos essas rotas e usamos esse roteador
expresso como esse, onde especificamos que todas as rotas de comentários começam com isso, onde adicionamos
o Colan ID, mas se o tentarmos e estamos frescos e nós olhamos aqui antes Esta flecha longa é apontada, podemos ver que não foi impresso.
Portanto, não está encontrando o ID.
O que está acontecendo é aquele nosso eu. D. ou cólon I. D. O parâmetro da rota não está chegando
às nossas rotas de comentários.
E há uma solução muito fácil quando usamos o roteador expresso neste arquivo, passamos uma opção em vez
de um objeto.
Mesclar programas.
Verdade.
E isso irá juntar o Paramo do acampamento e os comentários em conjunto para
que, dentro das rotas de comentários, possamos acessar essa ID Kolin que definimos.
Então, vamos reiniciar agora o nó Aptera Sim.
Se estamos frescos agora, precisamos voltar a acalmar os acampamentos.
Eu vou ter que voltar a entrar como senha de Severus
então vamos tentar e adicionar um comentário e você pode ver que funciona agora muito bem.
E estamos encontrando essa identificação e então estamos encontrando o acampamento correto.
Portanto, não temos um problema.
ESTÁ BEM.
Então, nós refactamos com sucesso as rotas.
A última coisa em que podemos concentrar-se é a limpeza de algum outro código para que possamos entrar no nosso
arquivo de comentários, por exemplo.
E não precisamos mais comentar as rotas aqui.
Mas se quiséssemos entrar e adicionar os pontos-virgenes e também adicionar uma pequena mensagem antes de cada rota.
Então, estes são os comentários novos e, em seguida, isso é criar comentários e salvaremos certifique-se de que tudo está bem formatado
e se livrar disso.
Nós ainda temos isso conectado.
Eu vou apenas adicionar uma mensagem aqui middleware que estaremos refatorando e mudando para o próprio arquivo que irá exigir. Em
vez disso, o arquivo de comentários e nosso arquivo de jar de índice porque o temos em ambos os lugares.
Certifique-se de ter alguns comentários aqui.
Então, esta é a rota rota.
Esta é a nossa rota de formulário de registro que lida com a rota lógica de Inscrição.
Esta é a nossa rota de log e formulário.
Isso lida com o log e forma a lógica e realmente faz o logon.
E esta é a rota de logout.
E então temos o nosso middleware aqui.
Tudo bem.
E então, finalmente, vá para o acampamento.
Sim, temos nossa rota de índice.
Nossa rota de criação e nossa nova rota e nosso show.
Ótimo.
E na verdade, sim, vamos ver se há algo mais que possamos realmente limpar aqui.
Vamos continuar e adicione um comentário aqui.
Estamos corretos exigindo rotas e, de outra forma, para que possamos ir.
Então, mudamos muitas coisas, tanto quanto os arquivos e os diretórios, mas nossa lógica é
exatamente a mesma.
Realmente, a maior mudança, além de mover as coisas para diferentes arquivos, mostrou esse uso do
roteador Express onde podemos exigir arquivos de rota e, no nosso caso, nossos arquivos de rota estão exportando o roteador que estamos usando
e que não precisa ser chamado roteador, mas esse é o nome convencional.
Então, o que quer que possamos chamar aqui, precisamos fazer referência a um anúncio que Didcot obtém e publica
nesse objeto e, em seguida, envie isso no fundo e podemos fornecer esse prefixo que será adicionado na
frente de cada roteiro nesse arquivo.
Ótimo.
realmente limpa as coisas apenas para mostrar o quanto temos 46 linhas neste aplicativo na versão anterior.
Então, nós
Se abrimos SJS, tivemos 177 linhas.
Então, essa é uma redução bastante drástica.