1
00:00:00,150 --> 00:00:01,330
Bem vindo de volta.

2
00:00:01,380 --> 00:00:03,060
Então esse vídeo será bastante rápido.

3
00:00:03,180 --> 00:00:07,440
Vou mostrar-lhe algo chamado módulos de exportação, o que nos ajudará a limpar nosso

4
00:00:07,530 --> 00:00:08,870
código e torná-lo mais modular.

5
00:00:09,120 --> 00:00:13,650
E então eu vou mostrar-lhe como podemos usar o módulo, mas as exportações para limpar o código que acabamos

6
00:00:13,650 --> 00:00:15,640
de escrever qual é a referência é o genio.

7
00:00:15,650 --> 00:00:17,260
Arquive esta aqui.

8
00:00:17,310 --> 00:00:21,520
Atualmente é um arquivo longo que tem nosso código de mangom mais alto.

9
00:00:21,630 --> 00:00:27,210
Então temos o esquema e o modelo de postagem e, em seguida, o esquema e o modelo do usuário e, em seguida,

10
00:00:27,210 --> 00:00:32,030
todo o nosso código subsequente, onde estamos usando esses modelos, o que faremos é quebrar isso em arquivos separados.

11
00:00:32,100 --> 00:00:37,380
Então, o código postal aqui todas as coisas para fazer o esquema no modelo será seu próprio

12
00:00:37,380 --> 00:00:40,710
arquivo que podemos exigir exatamente como estamos exigindo mangusto aqui.

13
00:00:40,830 --> 00:00:42,100
Podemos fazer o mesmo.

14
00:00:42,120 --> 00:00:43,450
Ainda não funcionará.

15
00:00:43,450 --> 00:00:46,100
Mas podemos fazer algo como exigências de var post.

16
00:00:46,260 --> 00:00:48,140
E então teremos post-up.

17
00:00:48,210 --> 00:00:53,610
Sim, essa não é exatamente a sintaxe, mas será uma declaração obrigatória e faremos

18
00:00:53,700 --> 00:00:55,740
o mesmo para o usuário.

19
00:00:55,740 --> 00:00:56,880
Então, por que nós fazemos isso.

20
00:00:56,880 --> 00:00:58,080
Há duas respostas.

21
00:00:58,080 --> 00:01:01,720
Primeiro é que isso nos ajudará a limpar nosso código e a encurtar isso.

22
00:01:01,950 --> 00:01:05,420
Então, vamos nos livrar de tudo isso e movê-lo para separar os arquivos.

23
00:01:05,850 --> 00:01:08,490
Mas também nos ajuda a tornar nosso código mais modular.

24
00:01:08,760 --> 00:01:13,740
que usasse o mesmo modelo de usuário ou outro arquivo que o usasse, não teria que duplicar o código.

25
00:01:14,040 --> 00:01:15,850
E se eu quisesse ter outro aplicativo

26
00:01:16,050 --> 00:01:18,810
Eu poderia apenas exigir esse código nesse arquivo também.

27
00:01:18,810 --> 00:01:24,900
Então, dois objetivos principais que estaremos usando quando estou prestes a mostrá-lo também modularizar são realmente sim em vez do

28
00:01:24,900 --> 00:01:28,150
aplicativo de campo de usuários, isso está ficando bastante longo.

29
00:01:28,410 --> 00:01:29,720
Você tem um monte de rotas.

30
00:01:30,000 --> 00:01:34,680
Nós temos todo o código do modelo aqui e isso continuará a crescer à medida que adquirimos mais e mais modelos.

31
00:01:34,680 --> 00:01:37,640
Então, depois deste vídeo, vou mostrar-lhe como podemos limpar isso.

32
00:01:37,800 --> 00:01:41,060
Mas para começar, vamos trabalhar com este arquivo de referência mais simples.

33
00:01:41,400 --> 00:01:46,640
E a primeira coisa que vou fazer é mover todo esse código relacionado à criação do modelo.

34
00:01:46,850 --> 00:01:52,170
O modelo de publicação e eu vou movê-lo para um novo arquivo e eu vou fazer um novo diretório

35
00:01:52,620 --> 00:01:55,060
primeiro chamado de modelos e o arquivo será modelos.

36
00:01:55,110 --> 00:01:56,660
Slash post.

37
00:01:56,750 --> 00:01:57,830
Jay Sim.

38
00:01:57,840 --> 00:02:03,470
E então, enquanto eu estiver aqui, eu também vou fazer modelos diminuir a situação do usuário assim.

39
00:02:03,730 --> 00:02:04,030
ESTÁ BEM.

40
00:02:04,050 --> 00:02:05,760
E então vou abrir os dois.

41
00:02:05,760 --> 00:02:09,660
Vamos começar com a publicação da barra de mensagens.

42
00:02:09,750 --> 00:02:10,390
Sim.

43
00:02:10,710 --> 00:02:11,100
ESTÁ BEM.

44
00:02:11,100 --> 00:02:12,710
E podemos colar esse código.

45
00:02:13,110 --> 00:02:15,680
E a primeira coisa que você percebe é que agora temos um erro.

46
00:02:15,720 --> 00:02:18,110
Está nos dizendo que Mongoose não está definido.

47
00:02:18,570 --> 00:02:25,300
Então, podemos começar por definir o mangusto e isso é algo que você só precisa fazer se você for modularizado no seu

48
00:02:25,310 --> 00:02:27,880
código se você estiver dividindo isso em pequenos pedaços.

49
00:02:28,020 --> 00:02:30,460
Você vai ter que exigir coisas muito mais vezes.

50
00:02:30,660 --> 00:02:35,740
Então, precisamos de mangostas e há uma mudança importante que você precisa para fazer, o que é que precisamos

51
00:02:35,740 --> 00:02:40,950
usar especialistas em módulos conduzidos aqui, que eu gosto de pensar como um valor de retorno para um arquivo.

52
00:02:41,160 --> 00:02:47,070
Então, assim como com o valor de retorno em uma função, nada é retornado, a menos que explicitamente

53
00:02:47,130 --> 00:02:50,010
digamos ao javascript o que queremos retornar da função.

54
00:02:50,010 --> 00:02:55,440
A mesma coisa com o arquivo se incluímos o arquivo, mas não exportamos nada.

55
00:02:55,440 --> 00:02:59,140
Nós realmente estaremos incluindo Nada exigirá apenas um arquivo vazio.

56
00:02:59,220 --> 00:03:04,170
O que precisamos fazer é exportar algo eo que queremos exportar é o modelo.

57
00:03:04,170 --> 00:03:11,230
Então, nós vamos copiar isso e dizer modular, mas as exportações são iguais ao mangusto até o modelo.

58
00:03:11,760 --> 00:03:15,410
Então estamos declarando o esquema e depois declaramos o modelo.

59
00:03:15,450 --> 00:03:17,250
E é isso que estamos enviando.

60
00:03:17,250 --> 00:03:22,720
Nós também poderíamos ter feito isso e, em seguida, o referido módulo sobre exportações é igual a postagens.

61
00:03:22,860 --> 00:03:23,950
Qualquer um funcionaria.

62
00:03:24,210 --> 00:03:26,680
Mas eu vou fazer isso de uma só vez aqui.

63
00:03:26,850 --> 00:03:30,520
Então, vamos nos livrar disso e adicionar isso de volta aqui.

64
00:03:30,980 --> 00:03:35,470
OK, então, agora vamos ver como nós exigimos esse arquivo dentro de referências.

65
00:03:35,550 --> 00:03:39,350
Sim, vou comentar praticamente tudo o resto por enquanto.

66
00:03:39,480 --> 00:03:44,790
Bem, mantenha o esquema do usuário lá, mas vou me livrar de tudo isso para que não estejamos

67
00:03:44,790 --> 00:03:45,540
executando nada.

68
00:03:45,780 --> 00:03:48,950
Tudo o que eu quero fazer é garantir que possamos importar este código.

69
00:03:49,200 --> 00:03:53,780
Então, será necessário que a var post seja exigida.

70
00:03:54,240 --> 00:03:56,110
E o arquivo é post-up.

71
00:03:56,150 --> 00:04:01,050
Sim, podemos apenas referir-se a ele como publicação, mas está dentro do diretório do modelo.

72
00:04:01,050 --> 00:04:07,910
Então, os modelos reduzem a publicação e salve e tente executar esse arquivo e ver o que acontece.

73
00:04:07,920 --> 00:04:15,600
Então, as referências de nó ponto J us e nós recebemos um pequeno erro e nos diz que não podemos encontrar modelos de módulos.

74
00:04:15,630 --> 00:04:16,770
Slash post.

75
00:04:16,770 --> 00:04:22,080
E isso é porque estamos perdendo uma coisa chave quando estamos referenciando caminhos de arquivos

76
00:04:22,080 --> 00:04:27,990
e diretórios no nó para fazer referência ao diretório atual. Precisamos de uma barra de pontos e

77
00:04:27,990 --> 00:04:30,520
isso irá referenciar onde atualmente estamos quais associações.

78
00:04:30,690 --> 00:04:35,850
E então queremos acessar o diretório de modelos e depois o arquivo de publicação e o site desse.

79
00:04:35,850 --> 00:04:37,770
Agora vamos limpar o terminal.

80
00:04:37,770 --> 00:04:39,250
Experimente isso de novo.

81
00:04:40,200 --> 00:04:42,150
Desta vez, parece que funcionou.

82
00:04:42,150 --> 00:04:44,520
Não vemos nada que seja um bom sinal.

83
00:04:44,520 --> 00:04:46,850
Não devemos ver nada com esse código que temos aqui.

84
00:04:47,220 --> 00:04:47,690
ESTÁ BEM.

85
00:04:47,790 --> 00:04:52,760
Então vamos fechar isso e agora faremos exatamente o mesmo para o código do usuário.

86
00:04:52,860 --> 00:04:59,160
Então, vamos tirar tudo isso cortar e, em seguida, abrir o arquivo do usuário J S.

87
00:04:59,190 --> 00:05:05,370
Então, isso vai ser modelos C9 reduzir os dados do usuário.

88
00:05:05,430 --> 00:05:06,210
Sim.

89
00:05:06,330 --> 00:05:07,920
E não coloque este código aqui.

90
00:05:08,130 --> 00:05:11,390
Mais uma vez precisamos importar mangustão.

91
00:05:11,760 --> 00:05:21,600
Então, o mangusto é igual a exigir mangusto e salvar isso e então vamos fazer um módulo que exporta igual ao modelo

92
00:05:22,020 --> 00:05:25,600
superior de mangáo que estamos criando do usuário.

93
00:05:26,040 --> 00:05:32,670
Então, isso enviará o modelo que, quando exigimos esse arquivo, é a única coisa que estamos a enviar para

94
00:05:32,670 --> 00:05:34,950
fora que estamos a exportar para usar.

95
00:05:34,950 --> 00:05:38,070
E isso nem sempre deve ser uma coisa assim.

96
00:05:38,070 --> 00:05:39,870
Podemos retornar várias peças.

97
00:05:39,870 --> 00:05:43,590
Nós podemos fazer um objeto aqui e adicionar um monte de diferentes bits de dados.

98
00:05:43,890 --> 00:05:48,230
Mas este é um objeto lembrar o modelo superior do mangão gera um objeto para nós.

99
00:05:48,480 --> 00:05:50,550
Então, isso é o que estamos girando vai economizar.

100
00:05:50,670 --> 00:05:59,910
Agora, volte para as referências e nós vamos executar o usuário var que ele chama exigir e isso deve ser os

101
00:06:00,360 --> 00:06:08,110
modelos de barra de pontos barra usuário e vamos salvar e certifique-se de que ambos estão precisando corretamente.

102
00:06:08,340 --> 00:06:09,710
Aqui vamos nós.

103
00:06:09,780 --> 00:06:11,270
E agora vamos tentar usá-lo.

104
00:06:11,550 --> 00:06:16,680
nos fará outro post com a forma de cozinhar o melhor hambúrguer e faremos a parte quatro.

105
00:06:16,680 --> 00:06:22,210
Então, o que vamos fazer é apenas descomentar alguns desses códigos que farão isso aqui mesmo, o que

106
00:06:22,470 --> 00:06:23,430
E algum jibberish.

107
00:06:23,430 --> 00:06:30,840
Vamos mudar isso um pouco e então vai achar que o usuário com o e-mail Babuji com e tudo mais deve ser

108
00:06:30,840 --> 00:06:35,040
o mesmo, ele vai empurrar essa postagem e cancelar logs e dados.

109
00:06:35,310 --> 00:06:37,260
Então, se tudo funcionou bem.

110
00:06:37,530 --> 00:06:42,270
Isso deve funcionar e devemos ver um usuário com algumas postagens impressas.

111
00:06:42,270 --> 00:06:45,720
Então vamos dar uma chance.

112
00:06:45,750 --> 00:06:46,620
Aqui vamos nós.

113
00:06:46,740 --> 00:06:53,080
Nós temos o nosso usuário Bob Belcher Bob no gmail dot com e depois temos um monte de IDs

114
00:06:53,080 --> 00:06:55,360
de postagem dentro da publicação Saray great.

115
00:06:55,380 --> 00:07:01,060
Então vamos recapitular tudo o que as exportações da Monserrat nos permitem dividir as coisas em arquivos.

116
00:07:01,080 --> 00:07:05,030
E a razão pela qual queremos fazer isso é limpar o nosso código em primeiro lugar.

117
00:07:05,070 --> 00:07:10,980
Isso torna muito mais limpo, mas também torna as coisas moduláveis ​​e a torna reutilizável para que eu possa

118
00:07:10,980 --> 00:07:16,620
ter outro arquivo onde eu preciso do post ou do modelo de usuário e não preciso duplicar nenhum código.

119
00:07:16,620 --> 00:07:22,050
Além da única linha no próximo vídeo, vou mostrar-lhe como podemos limpar o acampamento usando

120
00:07:22,050 --> 00:07:23,470
exatamente os mesmos conceitos.
