﻿1
00:00:01,380 --> 00:00:03,290
‫Tutor: En esta lección, las cosas

2
00:00:03,290 --> 00:00:05,450
‫comenzarán a ponerse un poco más avanzadas.

3
00:00:05,450 --> 00:00:08,370
‫Y eso se debe a que ahora crearemos varios

4
00:00:08,370 --> 00:00:10,860
‫enrutadores y usaremos un proceso llamado montaje.

5
00:00:10,860 --> 00:00:12,713
‫Así que veamos cómo funciona todo eso.

6
00:00:14,150 --> 00:00:17,090
‫Ahora, antes de hacer nada de eso, tengamos

7
00:00:17,090 --> 00:00:20,350
‫en cuenta que el objetivo final será separar todo el

8
00:00:20,350 --> 00:00:23,510
‫código que tenemos en este archivo en varios archivos.

9
00:00:23,510 --> 00:00:26,220
‫Entonces, lo que quiero es tener un

10
00:00:26,220 --> 00:00:29,270
‫archivo que solo contenga todas estas rutas, luego

11
00:00:29,270 --> 00:00:31,200
‫quiero tener otro archivo,

12
00:00:31,200 --> 00:00:33,713
‫que tenga las rutas para los usuarios.

13
00:00:34,550 --> 00:00:38,370
‫También querré tener un archivo que contenga los controladores solo

14
00:00:38,370 --> 00:00:41,690
‫para los usuarios y luego también un

15
00:00:41,690 --> 00:00:45,680
‫archivo que contendrá todos los controladores para los recorridos, ¿de acuerdo?

16
00:00:45,680 --> 00:00:47,460
‫Y eso es realmente lo que haremos

17
00:00:47,460 --> 00:00:48,900
‫en la próxima conferencia.

18
00:00:48,900 --> 00:00:51,200
‫Pero para poder hacer eso, ahora

19
00:00:51,200 --> 00:00:54,030
‫necesitamos crear un enrutador separado para cada

20
00:00:54,030 --> 00:00:56,033
‫uno de nuestros recursos.

21
00:00:56,940 --> 00:01:01,320
‫Entonces, volvamos a nuestras rutas aquí y ahora mismo, podemos decir

22
00:01:01,320 --> 00:01:05,890
‫que todas nuestras rutas, así que estas cuatro rutas aquí, podemos decir

23
00:01:05,890 --> 00:01:07,730
‫que están todas en

24
00:01:07,730 --> 00:01:09,650
‫el mismo enrutador, ¿de acuerdo?

25
00:01:09,650 --> 00:01:12,800
‫Y el enrutador es este objeto de aplicación.

26
00:01:12,800 --> 00:01:15,090
‫Pero si queremos separar estas rutas

27
00:01:15,090 --> 00:01:17,810
‫en diferentes archivos, de nuevo, un archivo para

28
00:01:17,810 --> 00:01:19,820
‫estas dos rutas y un

29
00:01:19,820 --> 00:01:22,440
‫archivo para estas dos rutas, entonces lo mejor

30
00:01:22,440 --> 00:01:25,540
‫que se puede hacer es crear un enrutador para

31
00:01:25,540 --> 00:01:28,140
‫cada uno de los recursos, ¿de acuerdo?

32
00:01:28,140 --> 00:01:30,720
‫Y así es como lo haremos.

33
00:01:30,720 --> 00:01:33,390
‫En realidad, no es tan complicado, pero

34
00:01:33,390 --> 00:01:34,890
‫tendrás que entender

35
00:01:34,890 --> 00:01:37,283
‫un par de conceptos, ¿de acuerdo?

36
00:01:38,420 --> 00:01:40,070
‫Entonces, comencemos diciendo,

37
00:01:40,070 --> 00:01:45,070
‫const tourRouter es igual a express. Enrutador.

38
00:01:51,110 --> 00:01:52,560
‫Bien, así como

39
00:01:52,560 --> 00:01:57,120
‫así, creamos un nuevo enrutador y lo guardamos en esta variable.

40
00:01:57,120 --> 00:01:59,590
‫Muy bien, y ahora usemos ese enrutador

41
00:01:59,590 --> 00:02:01,480
‫para estas dos rutas.

42
00:02:01,480 --> 00:02:03,653
‫Entonces aquí lo usamos en lugar de la aplicación.

43
00:02:04,860 --> 00:02:07,550
‫Muy bien, ahora tenemos dos enrutadores y luego enrutar

44
00:02:07,550 --> 00:02:09,710
‫y luego, por supuesto, las rutas get

45
00:02:09,710 --> 00:02:11,420
‫y post en ese enrutador.

46
00:02:11,420 --> 00:02:14,080
‫Ahora bien, ¿cómo conectamos realmente este nuevo

47
00:02:14,080 --> 00:02:15,630
‫enrutador con nuestra aplicación?

48
00:02:15,630 --> 00:02:19,370
‫Bueno, lo usaremos como middleware, ¿de acuerdo?

49
00:02:19,370 --> 00:02:23,770
‫Y eso se debe a que, este nuevo enrutador de herramienta modular aquí,

50
00:02:23,770 --> 00:02:26,480
‫es en realidad un middleware real, ¿de acuerdo?

51
00:02:26,480 --> 00:02:28,330
‫Y entonces podemos

52
00:02:29,980 --> 00:02:34,980
‫decir, (escritura en el teclado), app. use, y luego la ruta, pero dejémoslo para más adelante.

53
00:02:36,760 --> 00:02:41,760
‫Entonces, podemos usar tourRouter en nuestra aplicación y

54
00:02:42,020 --> 00:02:44,647
‫¿dónde queremos usar tourRouter?

55
00:02:44,647 --> 00:02:46,650
‫Bueno, queremos usarlo

56
00:02:46,650 --> 00:02:51,650
‫en / api / version one / tours, ¿de acuerdo?

57
00:02:53,800 --> 00:02:58,030
‫De nuevo, este tourRouter aquí es un middleware real.

58
00:02:58,030 --> 00:03:01,850
‫Y queremos usar ese middleware para esta ruta específica.

59
00:03:01,850 --> 00:03:04,240
‫De acuerdo, usamos la aplicación. use y

60
00:03:04,240 --> 00:03:07,883
‫especifique la función de middleware, que es este enrutador,

61
00:03:07,883 --> 00:03:11,540
‫luego especificamos la ruta y la URL, para la

62
00:03:11,540 --> 00:03:15,200
‫cual, en realidad queremos usar ese middleware, ¿de acuerdo?

63
00:03:15,200 --> 00:03:16,640
‫Y así,

64
00:03:16,640 --> 00:03:20,700
‫así, creamos básicamente una subaplicación, ¿de acuerdo?

65
00:03:20,700 --> 00:03:22,270
‫Ahora, solo hay

66
00:03:22,270 --> 00:03:24,060
‫una cosa que realmente necesitamos

67
00:03:24,060 --> 00:03:27,110
‫cambiar aquí, cuáles son estas rutas aquí, ¿de acuerdo?

68
00:03:27,110 --> 00:03:29,830
‫Permítanme cambiar esto aquí y luego explicar por

69
00:03:29,830 --> 00:03:31,830
‫qué tiene que ser así.

70
00:03:31,830 --> 00:03:34,267
‫Entonces aquí, solo queremos la

71
00:03:34,267 --> 00:03:37,600
‫ruta, y aquí, solo queremos la identificación, ¿de acuerdo?

72
00:03:37,600 --> 00:03:39,450
‫Ahora, ¿por qué es eso?

73
00:03:39,450 --> 00:03:42,540
‫Bueno, es porque este middleware tourRouter, solo se

74
00:03:42,540 --> 00:03:46,200
‫ejecuta en esta ruta aquí de todos modos, ¿de acuerdo?

75
00:03:46,200 --> 00:03:48,400
‫Y así, una vez que estemos

76
00:03:48,400 --> 00:03:50,700
‫en el enrutador, ya estamos en esta ruta.

77
00:03:50,700 --> 00:03:54,150
‫Entonces, en nuestro tourRoute, y en esta primera ruta

78
00:03:54,150 --> 00:03:57,370
‫que teníamos antes, solo queremos ejecutarla como api /

79
00:03:57,370 --> 00:04:00,090
‫versión uno / tours y eso

80
00:04:00,090 --> 00:04:03,740
‫es lo que significa esta ruta aquí ahora, ¿de acuerdo?

81
00:04:03,740 --> 00:04:07,720
‫Entonces, es básicamente la ruta de esta URL, ¿de acuerdo?

82
00:04:07,720 --> 00:04:10,750
‫Entonces, ¿esta pequeña mini aplicación, de acuerdo?

83
00:04:10,750 --> 00:04:14,260
‫Entonces, en realidad, cuando creamos un sistema de enrutador

84
00:04:14,260 --> 00:04:18,650
‫como este, en realidad decimos que creamos una pequeña aplicación secundaria para

85
00:04:18,650 --> 00:04:21,793
‫cada uno de estos recursos, ¿de acuerdo?

86
00:04:22,860 --> 00:04:26,410
‫Así que esta es la ruta de o la

87
00:04:26,410 --> 00:04:30,390
‫mini aplicación, que de nuevo es en / tours, ¿de acuerdo?

88
00:04:30,390 --> 00:04:34,150
‫Y luego la segunda ruta, está en / id, ¿verdad?

89
00:04:34,150 --> 00:04:35,680
‫Y eso es porque,

90
00:04:35,680 --> 00:04:39,303
‫antes, estaba en tours / id, así que fue todo esto.

91
00:04:40,190 --> 00:04:44,330
‫Así que así, pero ahora, esta URL aquí

92
00:04:44,330 --> 00:04:49,330
‫ya está en nuestro tipo de ruta principal aquí, ¿verdad?

93
00:04:49,400 --> 00:04:51,980
‫Digamos que ahora tenemos una solicitud

94
00:04:51,980 --> 00:04:56,690
‫entrante para / api / version one / tours / version id.

95
00:04:56,690 --> 00:04:59,460
‫Entonces, la solicitud entra en la pila de

96
00:04:59,460 --> 00:05:02,190
‫middleware y cuando llega a esta línea

97
00:05:02,190 --> 00:05:05,060
‫de código aquí, coincidirá con esta URL aquí, ¿verdad?

98
00:05:05,060 --> 00:05:07,380
‫Por lo tanto, coincidirá con esta ruta y, por

99
00:05:07,380 --> 00:05:10,150
‫lo tanto, se ejecutará la función de middleware de dos enrutadores.

100
00:05:10,150 --> 00:05:14,310
‫Entonces, o dos enrutadores es esta subaplicación que creamos, que a

101
00:05:14,310 --> 00:05:17,740
‫su vez tiene sus propias rutas, ¿de acuerdo?

102
00:05:17,740 --> 00:05:20,570
‫Y si la solicitud fue para / id,

103
00:05:20,570 --> 00:05:22,480
‫bueno, entonces dentro de

104
00:05:22,480 --> 00:05:25,220
‫nuestra mini aplicación, presione esta ruta aquí, ¿verdad?

105
00:05:25,220 --> 00:05:26,250
‫Y finalmente,

106
00:05:26,250 --> 00:05:29,030
‫por supuesto, ejecutará uno de estos identificadores aquí,

107
00:05:29,030 --> 00:05:31,190
‫dependiendo del método que se utilizó.

108
00:05:31,190 --> 00:05:34,010
‫Así que espero que tenga sentido.

109
00:05:34,010 --> 00:05:36,580
‫Entonces, ahora sigamos adelante y hagamos

110
00:05:36,580 --> 00:05:39,363
‫lo mismo con todos los usuarios, ¿de acuerdo?

111
00:05:40,220 --> 00:05:44,089
‫Entonces, seguiré adelante y crearé otro enrutador aquí, (escritura con

112
00:05:44,089 --> 00:05:47,370
‫teclado) llamado, el enrutador de usuario, y luego, como

113
00:05:49,727 --> 00:05:52,520
‫antes, es rápido. El

114
00:05:55,970 --> 00:05:58,823
‫enrutador no es así, sí.

115
00:06:00,160 --> 00:06:02,333
‫Bien, use un enrutador, y

116
00:06:05,810 --> 00:06:08,970
‫luego debemos hacer el mismo proceso que aquí.

117
00:06:08,970 --> 00:06:12,980
‫Y, por cierto, esto se llama montar el enrutador, ¿de acuerdo?

118
00:06:12,980 --> 00:06:17,980
‫Entonces, montar un nuevo enrutador en una ruta, básicamente, ¿de acuerdo?

119
00:06:19,770 --> 00:06:23,970
‫Así que ahora tenemos usuarios y aquí usuario.

120
00:06:26,100 --> 00:06:28,870
‫Y de hecho, montar los

121
00:06:28,870 --> 00:06:32,330
‫enrutadores tiene que venir después de todas estas

122
00:06:32,330 --> 00:06:37,330
‫definiciones o al menos después de que declaramos una variable, ¿verdad?

123
00:06:39,660 --> 00:06:41,190
‫Por lo tanto, no

124
00:06:41,190 --> 00:06:43,560
‫podemos usar los enrutadores antes de declararlos.

125
00:06:43,560 --> 00:06:46,630
‫Bien, ahora todo lo que tenemos que

126
00:06:46,630 --> 00:06:50,223
‫hacer es seguir adelante y también cambiar las rutas aquí.

127
00:06:51,850 --> 00:06:55,160
‫Y así, al igual que antes, si ahora hay

128
00:06:55,160 --> 00:06:59,740
‫una solicitud para / api / version one / users / id, la

129
00:06:59,740 --> 00:07:02,350
‫solicitud ingresará a la pila de middleware

130
00:07:02,350 --> 00:07:04,680
‫y cuando llegue a este middleware

131
00:07:04,680 --> 00:07:06,560
‫aquí, ejecutará el enrutador

132
00:07:06,560 --> 00:07:10,250
‫del usuario, porque esta ruta aquí es emparejado, ¿de acuerdo?

133
00:07:10,250 --> 00:07:12,320
‫Y luego ingresa al enrutador

134
00:07:12,320 --> 00:07:14,220
‫del usuario y

135
00:07:14,220 --> 00:07:18,960
‫nuevamente, como antes, este error es la ruta básicamente en nuestra

136
00:07:18,960 --> 00:07:23,860
‫subaplicación, y esto aquí, es la URL / id completa, ¿de acuerdo?

137
00:07:23,860 --> 00:07:25,550
‫¿Tiene sentido?

138
00:07:25,550 --> 00:07:26,710
‫Entonces, antes

139
00:07:26,710 --> 00:07:29,723
‫de continuar, probemos si esto todavía funciona.

140
00:07:30,640 --> 00:07:35,210
‫Entonces, obtengamos todos los recorridos aquí y, de hecho, lo hace.

141
00:07:35,210 --> 00:07:40,000
‫Así que todo sigue funcionando igual con los usuarios

142
00:07:40,000 --> 00:07:42,380
‫y eso sigue funcionando.

143
00:07:42,380 --> 00:07:45,410
‫Así que hicimos todos estos cambios y decodificamos las

144
00:07:45,410 --> 00:07:49,350
‫obras, lo que significa que nuestros dos nuevos enrutadores están montados correctamente.

145
00:07:49,350 --> 00:07:53,230
‫Muy bien, y con eso, estamos listos para separar

146
00:07:53,230 --> 00:07:56,250
‫o diferentes enrutadores ahora en diferentes archivos.

147
00:07:56,250 --> 00:07:58,993
‫Y eso lo haremos bien en la próxima conferencia.

