1
00:00:03,920 --> 00:00:07,800
Ahora, que hemos aprendido acerca de Express Generator,

2
00:00:07,800 --> 00:00:10,890
la herramienta de andamios para aplicaciones de expertos,

3
00:00:10,890 --> 00:00:17,405
instalemos Express Generator y luego creemos una nueva aplicación Express.

4
00:00:17,405 --> 00:00:20,250
Vamos a crear la réplica exacta de

5
00:00:20,250 --> 00:00:25,850
la aplicación Express REST API que implementamos en el módulo anterior.

6
00:00:25,850 --> 00:00:30,025
De hecho, reutilizaremos los tres routers, los

7
00:00:30,025 --> 00:00:34,970
routers Express que implementamos en la aplicación Express anterior en

8
00:00:34,970 --> 00:00:38,690
la aplicación recién generada que vamos a

9
00:00:38,690 --> 00:00:43,430
generar usando Express Generator en este ejercicio.

10
00:00:43,430 --> 00:00:48,680
Para empezar, su primer paso es instalar Express Generator.

11
00:00:48,680 --> 00:00:52,610
Por lo tanto, en el símbolo del sistema, escriba «npm

12
00:00:52,610 --> 00:00:59,210
install -g» para instalarlo como un módulo global de NPM.

13
00:00:59,210 --> 00:01:05,120
Diremos Express Generator y presionaremos el Retorno.

14
00:01:05,120 --> 00:01:10,910
Ahora, si está instalando en una máquina OSX o Linux,

15
00:01:10,910 --> 00:01:14,400
asegúrese de usar sudo delante de este comando.

16
00:01:14,400 --> 00:01:21,500
A continuación, instale la aplicación como una aplicación global.

17
00:01:21,500 --> 00:01:29,850
Como puede ver, la versión Express Generator que estoy usando es 4.16.0 en este curso.

18
00:01:29,850 --> 00:01:33,845
Ahora, que hemos instalado Express Generator, en su terminal,

19
00:01:33,845 --> 00:01:37,590
muévase a la carpeta Node.Js donde ha estado almacenando

20
00:01:37,590 --> 00:01:42,080
todas las aplicaciones de nodo que hemos estado desarrollando en este curso,

21
00:01:42,080 --> 00:01:43,745
en la carpeta Node.Js.

22
00:01:43,745 --> 00:01:50,020
En el símbolo del sistema escriba express ConfusionServer.

23
00:01:50,020 --> 00:01:53,865
Ahora, si ha estado siguiendo de los cursos anteriores,

24
00:01:53,865 --> 00:01:57,410
entiende por qué lo llamo Confusion y así

25
00:01:57,410 --> 00:02:01,860
vamos a andamiar nuestra aplicación expresa en el ConfusionServer.

26
00:02:01,860 --> 00:02:07,165
Estoy andamiando sin nuevas opciones y luego dentro de un corto tiempo,

27
00:02:07,165 --> 00:02:10,125
el servidor Express será andamiado.

28
00:02:10,125 --> 00:02:14,390
Ahora, muévase a la carpeta ConfusionServer y luego

29
00:02:14,390 --> 00:02:18,680
verá que un montón de archivos ya se han andamiado para usted.

30
00:02:18,680 --> 00:02:23,645
Entonces, abramos este proyecto en Visual Studio Code.

31
00:02:23,645 --> 00:02:28,935
Además, en el símbolo del sistema, escriba «npm

32
00:02:28,935 --> 00:02:33,110
install» para instalar todos los módulos NPM

33
00:02:33,110 --> 00:02:36,070
que ya están incluidos en el archivo package.json.

34
00:02:36,070 --> 00:02:39,590
Por lo tanto, echemos un vistazo rápido al archivo package.json para ver cuáles son

35
00:02:39,590 --> 00:02:44,360
todos los diferentes módulos NPM Node que se van a instalar.

36
00:02:44,360 --> 00:02:46,200
Ir a nuestra aplicación,

37
00:02:46,200 --> 00:02:48,175
en el archivo package.json,

38
00:02:48,175 --> 00:02:52,550
ves que el servidor con el nombre predeterminado

39
00:02:52,550 --> 00:02:57,200
ha sido andamiado y ves un montón de dependencias que se declaran aquí.

40
00:02:57,200 --> 00:03:02,390
Por lo tanto, todos estos módulos NPM se instalarán automáticamente para

41
00:03:02,390 --> 00:03:08,970
usted por NPM cuando escriba «npm install» en esta carpeta.

42
00:03:08,970 --> 00:03:13,370
Por lo tanto, verá la carpeta de módulos de nodo que se está creando aquí.

43
00:03:13,370 --> 00:03:17,600
Vaya al terminal, escriba «npm install» y luego deje que

44
00:03:17,600 --> 00:03:22,320
continúe con la instalación de todos los módulos NPM.

45
00:03:22,320 --> 00:03:23,985
Una vez completados,

46
00:03:23,985 --> 00:03:29,810
entonces estamos listos para comenzar con nuestra aplicación Express.

47
00:03:29,810 --> 00:03:34,595
Observará que la aplicación Express predeterminada ya se ha instalado.

48
00:03:34,595 --> 00:03:35,710
Así que en el mensaje,

49
00:03:35,710 --> 00:03:38,105
si simplemente dice npm start,

50
00:03:38,105 --> 00:03:42,295
la aplicación predeterminada se iniciará y puede

51
00:03:42,295 --> 00:03:48,500
navegar usando su navegador estándar para ver qué sirve esta aplicación.

52
00:03:48,500 --> 00:03:58,645
Vaya a Postman en el bloque de direcciones tipo localhost:3000 y

53
00:03:58,645 --> 00:04:03,185
envíe la solicitud y verá que su servidor devolverá

54
00:04:03,185 --> 00:04:12,045
esta información predeterminada del sitio del servidor.

55
00:04:12,045 --> 00:04:20,075
Por lo tanto, este es el servidor Express estándar que es andamiado por Express Generator.

56
00:04:20,075 --> 00:04:23,550
En la consola, verá información como esta impresa aquí.

57
00:04:23,550 --> 00:04:30,180
Esto es lo que Morgan imprime en la pantalla para mostrar las solicitudes que llegan. Por

58
00:04:30,180 --> 00:04:34,955
lo tanto, muestra el tipo de solicitud a qué URL

59
00:04:34,955 --> 00:04:40,820
y la respuesta correspondiente que se ha enviado de vuelta al cliente desde el servidor.

60
00:04:40,820 --> 00:04:45,050
Detengamos el servidor Express.

61
00:04:45,050 --> 00:04:49,430
Vamos a inicializar un repositorio de Git y luego

62
00:04:49,430 --> 00:04:57,360
vamos a comprobar el estado de Git y verá que los módulos de nodo están siendo incluidos.

63
00:04:57,360 --> 00:05:03,800
Entonces, déjame cambiar a mi aplicación y luego crear

64
00:05:03,800 --> 00:05:10,895
un archivo gitignore y luego en el archivo gitignore,

65
00:05:10,895 --> 00:05:17,470
déjame especificar los módulos de nodo como un archivo que quiero ignorar.

66
00:05:17,470 --> 00:05:20,815
Luego volviendo a la terminal,

67
00:05:20,815 --> 00:05:25,090
permítanme verificar el estado de git y verán que ahora

68
00:05:25,090 --> 00:05:30,385
vamos a estar registrando solo aquellos archivos que son parte de nuestra aplicación.

69
00:05:30,385 --> 00:05:33,925
Por lo tanto, en el símbolo del sistema, escriba git add,

70
00:05:33,925 --> 00:05:42,085
y luego diga, estado de git y verá que todos los archivos se han registrado.

71
00:05:42,085 --> 00:05:50,725
Entonces, dices, git commit -m «Express Generator».

72
00:05:50,725 --> 00:05:54,500
Ahora, vamos a continuar con esta aplicación Express.

73
00:05:54,500 --> 00:05:58,820
Ya habíamos construido los tres routers usando

74
00:05:58,820 --> 00:06:04,505
el router Express en la aplicación Express anterior que implementamos.

75
00:06:04,505 --> 00:06:09,965
Vamos a copiar esos tres routers a esta aplicación que generamos con

76
00:06:09,965 --> 00:06:16,240
Express Generator y también configurar esta aplicación para hacer uso de esos tres routers.

77
00:06:16,240 --> 00:06:17,980
Entonces, para hacer eso,

78
00:06:17,980 --> 00:06:24,120
déjame ir a la carpeta Node.Js y luego,

79
00:06:24,120 --> 00:06:27,670
yendo a la carpeta express del nodo y las rutas,

80
00:06:27,670 --> 00:06:30,380
voy a copiar el dishRouter.js,

81
00:06:30,380 --> 00:06:34,460
leaderRouter.js router.js y promoRouter.js que he implementado

82
00:06:34,460 --> 00:06:39,410
en la asignación y vamos a pasar

83
00:06:39,410 --> 00:06:45,170
al ConfusionServer que yo acaban de crear y en la carpeta de rutas y luego copiar

84
00:06:45,170 --> 00:06:51,720
sobre esos tres routers Express que creamos allí.

85
00:06:51,720 --> 00:06:58,140
Así que automáticamente, modificando el archivo app.js,

86
00:06:58,140 --> 00:07:01,250
podremos soportar la API REST usando

87
00:07:01,250 --> 00:07:05,080
la aplicación Express que acabamos de andamiar.

88
00:07:05,080 --> 00:07:09,535
Haciendo una visita rápida a la aplicación que ha sido scaffolded.

89
00:07:09,535 --> 00:07:12,515
Como mencioné en la conferencia anterior,

90
00:07:12,515 --> 00:07:16,780
app.js es el lugar donde comienza todo.

91
00:07:16,780 --> 00:07:20,540
Por lo tanto, este es el archivo estándar para que pueda ver algunas de

92
00:07:20,540 --> 00:07:25,360
las cosas con las que está familiarizado desde el módulo anterior.

93
00:07:25,360 --> 00:07:31,440
Por lo tanto, estamos requiriendo un registrador de ruta expreso que es Morgan en este caso.

94
00:07:31,440 --> 00:07:35,570
CookieParser que utilizaremos en uno de los ejercicios posteriores y

95
00:07:35,570 --> 00:07:40,170
también verá que está importando dos rutas;

96
00:07:40,170 --> 00:07:42,220
el índice y los usuarios,

97
00:07:42,220 --> 00:07:45,225
que ya están andamios por Express para nosotros.

98
00:07:45,225 --> 00:07:51,300
Por lo tanto, agregaremos los tres nuevos enrutadores aquí.

99
00:07:51,300 --> 00:08:00,734
Por lo tanto, voy a decir, var DISHRouter requieren rutas

100
00:08:00,734 --> 00:08:10,480
DISHRouter y luego copiarán esto y luego también importarán

101
00:08:10,480 --> 00:08:24,470
el PromoRouter y el LeaderRouter

102
00:08:26,670 --> 00:08:32,315
y vamos a configurar estos para ser utilizados aquí.

103
00:08:32,315 --> 00:08:35,735
Aquí puede ver que el índice está montado en

104
00:08:35,735 --> 00:08:40,070
la barra diagonal y luego los usuarios se montan en /users.

105
00:08:40,070 --> 00:08:43,160
Por lo tanto, vamos a decir, el uso de la aplicación

106
00:08:43,160 --> 00:08:52,970
y platos DishRouter.

107
00:08:52,970 --> 00:08:54,840
Son las cuatro en punto.

108
00:08:59,890 --> 00:09:17,910
Promociones PromoRouter y líderes.

109
00:09:18,030 --> 00:09:22,735
LeaderRouter. Eso es todo.

110
00:09:22,735 --> 00:09:27,045
Nuestra aplicación Express que ha sido scaffolded out ahora está todo configurado

111
00:09:27,045 --> 00:09:32,000
para ser un servidor API REST completo que servirá para platos,

112
00:09:32,000 --> 00:09:34,595
platos, promociones y líderes.

113
00:09:34,595 --> 00:09:37,630
Ahora, si navegas por el resto del código,

114
00:09:37,630 --> 00:09:41,175
parecerá familiarizado con algunas cosas nuevas allí.

115
00:09:41,175 --> 00:09:47,290
Los visitaremos como y cuando necesitemos entender un poco más de detalles allí.

116
00:09:47,290 --> 00:09:50,655
Por lo tanto, puede ver que el servidor estático se ha configurado,

117
00:09:50,655 --> 00:09:56,150
el registrador se ha configurado allí y algunos de estos otros, así que

118
00:09:56,150 --> 00:10:02,315
este es un controlador global de errores.

119
00:10:02,315 --> 00:10:06,150
Vamos a ver cómo hacer uso de él con más detalle.

120
00:10:06,150 --> 00:10:10,855
Y estos dos son controladores de errores adicionales que siguen después de esto.

121
00:10:10,855 --> 00:10:16,635
Vamos a ver cómo hacemos uso de ellos a medida que implementamos más en esta aplicación.

122
00:10:16,635 --> 00:10:19,325
Entonces, aquí es donde usted nota toda esta información.

123
00:10:19,325 --> 00:10:23,140
Ahora, se pregunta dónde está

124
00:10:23,140 --> 00:10:27,575
configurado el servidor en sí para el host local y el número de puerto está configurado.

125
00:10:27,575 --> 00:10:34,840
Ahora, esta información está en este archivo llamado bin/www.

126
00:10:34,840 --> 00:10:38,075
Si abre la carpeta bin/www,

127
00:10:38,075 --> 00:10:40,340
verá información adicional aquí.

128
00:10:40,340 --> 00:10:44,340
Por lo tanto, dice, var aplicación requiere.. slash/aplicación.

129
00:10:44,340 --> 00:10:46,330
Entonces, desde la carpeta bin,

130
00:10:46,330 --> 00:10:47,480
sube aquí y luego,

131
00:10:47,480 --> 00:10:50,805
este archivo app.js se requiere aquí en esto;

132
00:10:50,805 --> 00:10:54,245
y así, eso incluirá automáticamente el expreso y todo.

133
00:10:54,245 --> 00:10:56,440
Y luego, aquí está configurando

134
00:10:56,440 --> 00:11:00,510
el servidor http aquí y está configurando el número de puerto.

135
00:11:00,510 --> 00:11:04,570
También puede proporcionar su propio número de puerto en la línea de comandos,

136
00:11:04,570 --> 00:11:08,575
pero en este momento vamos a utilizar el valor predeterminado, que es 3000,

137
00:11:08,575 --> 00:11:11,830
y vamos a configurar el número de puerto aquí; y luego,

138
00:11:11,830 --> 00:11:16,935
verá el servidor var http.CreateServer que ha visto anteriormente,

139
00:11:16,935 --> 00:11:20,590
y el servidor está escuchando las cosas aquí.

140
00:11:20,590 --> 00:11:28,050
Y luego, también, aquí hay algunos eventos para escuchar en el lado del servidor.

141
00:11:28,050 --> 00:11:30,940
Volveremos a esto en uno de los ejercicios posteriores.

142
00:11:30,940 --> 00:11:33,320
Y luego, abajo verá un

143
00:11:33,320 --> 00:11:36,560
código adicional que configura su servidor para poder

144
00:11:36,560 --> 00:11:43,170
manejar errores y escuchar solicitudes entrantes en el número de puerto, etc.

145
00:11:43,170 --> 00:11:46,080
Por el momento, no se preocupe demasiado por este código.

146
00:11:46,080 --> 00:11:48,730
Revisaremos este código siempre que lo

147
00:11:48,730 --> 00:11:55,580
necesitemos, y modificaremos este código a medida que lo necesitemos en uno de los ejercicios posteriores.

148
00:11:55,580 --> 00:12:01,595
Por lo tanto, ahí es donde la información de su servidor está configurada allí.

149
00:12:01,595 --> 00:12:06,070
Y app.js, ya hemos visto la carpeta de rutas allí.

150
00:12:06,070 --> 00:12:15,530
Index.js y users.js son dos rutas predeterminadas que ya están configuradas para nosotros.

151
00:12:15,530 --> 00:12:19,575
Vamos a usar el users.js en uno de los ejercicios posteriores.

152
00:12:19,575 --> 00:12:21,900
Y en la carpeta pública,

153
00:12:21,900 --> 00:12:25,410
sigamos adelante y copiemos index.html y

154
00:12:25,410 --> 00:12:31,345
aboutus.html de nuestra aplicación Express en la carpeta pública también.

155
00:12:31,345 --> 00:12:39,895
Entonces, volviendo a la carpeta pública node-express.

156
00:12:39,895 --> 00:12:42,250
Sólo voy a copiar estos dos.

157
00:12:42,250 --> 00:12:47,135
Y luego, volveremos al servidor de confusión;

158
00:12:47,135 --> 00:12:49,840
y luego, en la carpeta pública,

159
00:12:49,840 --> 00:12:52,410
simplemente voy a pegarlos en su lugar.

160
00:12:52,410 --> 00:12:54,355
Por el momento, estos son marcadores de posición.

161
00:12:54,355 --> 00:12:57,960
Más adelante, los reemplazaremos con otras cosas.

162
00:12:57,960 --> 00:13:00,240
Por lo tanto, con estos cambios,

163
00:13:00,240 --> 00:13:04,385
nuestro servidor ahora está completamente configurado para ejecutarse como

164
00:13:04,385 --> 00:13:09,235
un servidor API REST y admitirá todos los extremos de la API REST.

165
00:13:09,235 --> 00:13:13,105
Así que, vamos a empezar nuestro servidor.

166
00:13:13,105 --> 00:13:14,680
Por lo tanto, en el símbolo del sistema,

167
00:13:14,680 --> 00:13:19,910
escriba npm start y su servidor estará en funcionamiento.

168
00:13:19,910 --> 00:13:24,555
Vamos a PostBin y enviar algunas solicitudes a este servidor.

169
00:13:24,555 --> 00:13:29,545
Ahora enviemos una solicitud get al host local 3000/platos,

170
00:13:29,545 --> 00:13:36,210
y notará que el servidor de API REST está funcionando exactamente como esperamos.

171
00:13:36,210 --> 00:13:41,250
Enviamos una solicitud de eliminación y eliminará los platos.

172
00:13:41,250 --> 00:13:44,580
Y luego, enviemos

173
00:13:44,580 --> 00:13:49,800
una solicitud de eliminación a las promociones y verás que funciona igual que antes.

174
00:13:49,800 --> 00:13:55,075
Y hacemos un post a las promociones

175
00:13:55,075 --> 00:14:09,430
con el cuerpo de fielding

176
00:14:23,730 --> 00:14:26,725
y enviamos la solicitud de publicación,

177
00:14:26,725 --> 00:14:28,750
y verás que dice:

178
00:14:28,750 --> 00:14:31,790
«Vamos a añadir la prueba de promoción con una descripción detallada».

179
00:14:31,790 --> 00:14:38,425
Vamos a enviar esto a los líderes.23,

180
00:14:38,425 --> 00:14:45,190
pero pon solicitud a los líderes.23 y deberías ver que dice: «Actualización del líder 23.

181
00:14:45,190 --> 00:14:47,655
Mejorará al líder». Por lo tanto, verá que

182
00:14:47,655 --> 00:14:51,780
el generador Express que generó la aplicación y la hemos modificado

183
00:14:51,780 --> 00:14:55,060
para admitir todos los extremos de la API REST que

184
00:14:55,060 --> 00:14:59,315
configuramos en la versión anterior del router Express.

185
00:14:59,315 --> 00:15:05,020
Ahora, con esto, completamos este ejercicio donde hemos demostrado cómo podemos

186
00:15:05,020 --> 00:15:10,610
usar el generador Express para construir el punto final de la API REST.

187
00:15:10,610 --> 00:15:17,740
Ahora, este es un buen momento para que hagamos un Git Kermit de los cambios con el mensaje,

188
00:15:17,740 --> 00:15:21,110
«Express generador REST API».