31 Video Recibir Información Desde Línea de Comandos

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 208

1.

31 VIDEO RECIBIR INFORMACIÓN DESDE LÍNEA DE COMANDOS

a. Cabe mencionar q hay varis elementos q están corriendo en node cuando la aplicación

se ejecuta , hemos visto q hay uno q se llama módulo , que se crea automática y lo

utilizamos para exportar la función crearArchivo

b.
2. Hay otro muy importante q se llama process

3. No hay q defnirlo en ningún lugar , cuando node se ejecuta ya crea esa variable de entorno

4. Ejecutamos y veremos que en la consola se genera una gran cantidad de información


5.
6. Aquí veremos datos sobre el sistema operativo , el usuaro q lo está corriendo, entre otras

cosas

7. Más adelante lo vamos a utilizar para unas configuraciones globales

8. En el process hay algo muy importante llamado argv (argVí) ,

9. Vamos a comentar la función crearArchivo

10. .
11.
12. Vamos a ejecutar el programa

13. Al parecer cuando ejcutamos este archivo no estamos mandando argumentos , pero en

realidad ya stamos enviando dos : la ubicación de node y la ubicación del programa q

queremos ejecutar
14.

15. Ahora lo que vamos a hacer es poder pasarle la base como u argimento desde la terminal
16.

17. También podemos pasar varios parámetros


18.
19. Pero en est caso so,lo querremos trabjar con –bae=5

20. Así que borremos lo demás , solo pasemos base=5

21. La tenemos en la tercera posición del argv

22.

23. Comentaremos el clg process.argv

24. Vamos a declarar una variable llamada argv que se le asignará lo que devuelva al invocar

process.argV
25.
26. Ahora vamosa crear el tercer argumento o parámetro , le pasamos la posición 2 , tenemos

que recordar que los arrays empiezan en 0 , por lo que el tercer parámetro que en este caso

es la base

27.

28.

29. Vamos aimprimir en consola el parámetro


30.
31. Pero solo me interesa el 5

32. Vamos a comentar la línea de la base


33.
34. Y declararemos una variable que tomará el num 5 del argumento q pasamos por consola

35. , lo extraeremos con el comando Split que o convertirá de un string a un arreglo

36. Y elcaracter separador será el signi =

37. Si guardamos los cambios y mostramos la base

38. Ejecutamos el archivo pa´samdole la base

39.
40.
41. Y veremos en la terminal un array con dos objetos del tipo cadena : “ base” y “5”

42. A mi me interesa el segund elemento, por eso a continuación de paréntesis agregremos

unun uno entre corchetes para inidcrale la posición de lo que quiero recuperarl, al ejecutar

nuevamente veremos que nos devuelve solo el num 5 en la terminal


43.

44. Probemos enviando otras bases por la terminal


45.
46. Ahora decomentaremos la función crearArchivo y quitamos el log a la variable base y

veremos que al ejecutar el archivo pasándole cualquier base y veremos q se van a crear las

tablas dentro de su respectivos archivos txt


47.
48. Cabe mencionar q si yo doy node –help me va mostrar los comandos que puedo ejecutar

con node
49.
50. Ls comandos en node tienen abreviaturas , como en el caso del versión , podmos consltarlo

de esta dos maneras:

51.

52. 032 NPM ISTALL UNISNTALL PACKAGE.JSON

53. Antes de instalar packetes como este que tenemos del npm , debemos iniclaizar nuestr

proyecto de node

54. Estando dentro de la carpeta el terminal registramos npm init


55.
56. Este comndo nos va a guira para la creacon de un archivo llamado package .json , del cual

vamos a hablar en breve

57. Lo primero que te pide es el nombre del paquete y te muestra el nombre del folder

58. Podemos ponerl cualquier nmbre siempre q sea url friendly

59. Per en este caso vamosa dejarlo así y vamos apresonar enter
60.
61. La versión , práctiacamente se explica por si misma , si yo deseo puedo cambiar la versión

en este momento, pero lo vamos adejar así

62. Le daremos enter no mas

63. Después nos solcita la descripción, cabe mencionar que todos estos comandos son

opcionales , podríamos darle enter, enter a todos hasta q se crea el archvo

64. En la descripción debemos de indicar lo que va a hacer este paquete o esta aplicación
65.
66. Le damos enter y nos va aindicar cual se el entry point (gralmente es el app.js )

67. Vamos adejarlo así , el entry point es el primer archivo de node que se ejecuta y despliega

toda la aplicación , vamosa dejarlo como está


68.
69. Podremos cofiguraralo para realizar pruebas , pero eso lo veremos después
70.
71. Nos pide el repositirio de git , por el momento no tenemos ninguno

72. Le vamos a dar enter también


73.
74. Lo sgte q pide son keywords , por ejm si quisiéramos comprtir este paquete en npm y facilite

la búsqueda del mismo medante palabras claves


75.
76. Luego pide el autor , ahí ingresaremos nuestro nombre
77.
78. En la licenciapuede ser ICS o MIT , vamos adejarlo como está
79.
80. Luego sale un resumen de comova aquedar el package.json
81.
82. Si estamos de acuerdo ,le damos enter

83. Una vez hecho esto veremos q se ha creado el package.json


84.
85. Por qué es importante este archivo , aunque cabe indicar , que podemos editar este archivo en

cualquier momento en vscode

86. Pero en la práctica este archivo sufre poca modificación manual

87. Este archivo es muy mportante sobre todo cuando movamos nuestro pryecto a otro

computador o lo subamos a un repositorio,

¿Por qué ? , cuando nostros intalemos paquetes de terceros , aquí se va acrear un referencia a

las dependencias

88. Las dependencias son todas las librerías y paquetes q nuestras aplicación necsecita

89. Para poder ser ejecutada

90. También existen las dependencias de desarrol.ador que también se crean en este archivo

91. Pero estas deopendencias solo son en la máquina que está desarrollándose esta aplicación , las

cuales no vana ser enviadas al servidor de produccion

92. Ahora vamos a realizar nuestra primera instalación para ver este procedimiento
93. Vmos a buscar en google yargs npm
94.
95. Nos debería llevara esta p+agina
96.
97. Bajamos un poco y miremos el proceso de instalación
98.
99. La letra i , es una abreviatura de install

100. Le vamos adar npm i yargs –save (elparámetro sabe es para indicar q esta dependencia

es necesaria parq funcione la aplicación , a partir de npm 5 es por deevcdto , ya no se agrega


101.
102. Si vemos en el package.json , vemos que se agreó una clave dependencies y ahí vmos

que yargs está registrado


103.
104. Ese signo como flechita al lado de la versión significa “o versión superior”

105. Vemos q también se ha creado el archivo package-lock.json

106.

107. Este archivo en lagunas aquinas no aparece , si no lo tienen no se preocupen

108. Pero si lo tienen lo que hace es tener como un registro de todo lo q hizo PARA INSTALAR

EL YARGS O todosls pquetes q salen como dependencias en apckage.json


109. Nunca vamosa tocar este archivo nostros , tod en el se hace e automático

110. También se ha creado una carpeta llamada node-modules

111.

112. Si lo abrimos veremos que hay muchas carpetas dentro


113. Todo esto son plugins y paquetes necesarios para que las dependencis q nostros

tenemos en el package.json funcionen

114. Los modulos de node por lo gral no son enviados a los servidores de producción ni a los

repositorios de git , lo uncp q basta es tener el package.json , parq cuando otra persona en otra

computadora trate de levantar esta aplicación , simplemengte le dará npm install y se va a

recosntruir el node-modules

115. No es recomendable subir los node-modules a git , ya qye las librerías pueden variar de

acuerdo al sistema operativo, debemos dejar que npm maneje esto

116. Para explicar otro tipo de instalación vamos a nodemon y tomamos esta comando
117.
118. Al hacer esto no istalamos glbalmente nodemon , ni con atributos de administrador ,

solo lo hacemos localmente en este proyecto


119.
120. Una vez instalado , si regresamos al package.json , veremos q hay una dependencia de

desarrollo

121.

122. En este caso tenemos el nodemon de forma glbal osea no lo boy a necesitar

123. C+omo desinstalamos un paquete


124.

125. Quedando de la sgte manera

126.
127.

128. Si abrimos nuevamente el packahge .json verificamos q ya no está nodemon


129.

130. VIDEO 033 YARGS

131. Nos habíamos quedao que podíamos pasar la base como parámetro y se creaba el

archivo con la tabal de acueado a la base pasada desde la terminal

132. Pro podríamos pasarle por ejm loquesea= 5 , e igual va acrear la tabla

133.

134. Va a créarlo igualmente porque es el primer parámetro q recibe


135. Si quisiéramos hacer cosas más complejas , esto se complicaría más aún

136. Por ejm yo quiero q me liste la tabla de multiplicar, quiero visualizar en la terminal toda

la tabla

137.

138. Y si lo quiero hacer más conplejo aún , le pongo el límite


139.

140. Si yo quisiera hacer esto con el código actual será laborioso

141. Incluso yo poría querer que creaee el archivo

142.

143. Ahora para faciltar estas tareas utilizaremos el paquete yars

144. Vamos a llamarlo con require , en la parte superior de nuestro archivo

145. Y l vamos a asignar a una constante q también llamaremos argv


146.
147. Cabe mencionar qel yargs se encuentra en los modulos de node

148. En el require del yarg vamos a llmara a argv , esto está en la documentación , ya lo

explicaremos más en profundidad más adelante


149.
150. Comentemos todo y al argv original le vamos a modificar el nombre a argv2 y vamos a

imprimir ambos argv , el de yars y el q recibimos de los procesos


151.
152. Y ejecutamos la aplicación

153. El primero es de jars y el segundo es el de lo procesos


154.
155. Si por ejm ejecutamos pa´sandole algun os parámetros
156.
157. Vemos que los parámetros q están solo por decirlo de alguna mnaera

158. Y los demás están en una formato de clave valor , por lo q podríamos llamar

directamente a la propiedad base

159. Vamos air a la página de yars , para ver q otras cosas se pueden hacer, vamos atrabajar

con la instrucción command


160.
161. En la parte superior del archivo donde agregamos el require , vvamos a agragar la

injstrucci´pon commnad , agregamos el comando , que en este caso será listar y un texto de

ayuda para detallar qué hace ese comando


162.
163. Pero faltan parámetros todavía , el siguiente es un objeto, este 0bjeto va arecibir la

configuración de parámetros, de flags que ese comado puede recibir, en nuestro caso queremos

q se pueda introducir la base y que sea obligatorio , eso lo haremos comn demand: true
164.
165. Vamos a ir a la terminal y ejecitremos el programa con node app listar
166.
167. Vemos q se imprime un mensaje dondeindica que falta el argumento base

168. Podemos también especificar los parmatros de otra manera

169. Vamos a quitar el argv2


170.
171. Podemos a nuestros argumentos especificarles alias o abreviaturas
172.
173. Ejecutamos nuevamente en la consola , pasándole el alias y veremos que ns devulve el

valor llenado en el alis como en el argumwnto original

174.

175. Ahora si yo quiero obtener información sobre la bse llamoa argv.base


176.
177. Podría ponerlo com tercer agumento y veo qur me sigue devolvieno correctamente la

base

178.

179. Vamos a configurar para recibir llmite también , y en este caso por probar vaos

aconfigurar un valor x defecto


180.
181. Y vamos a indicar q imprima el limite
182.
183. Y en la terminal ejecutamos el programa

184.
185. Si no no envío el limite debería caraga el valor x defecto , q es 10

186.

187. Ahora , antes de cerrar el yargs agreguen .help()


188.
189. Y ejecutamos el archivo
190.
191. VIDEO 034 EJECUTAR EL COMANDO LISTAR

192. Ahora queremos poder ejecutar estos comandos , poder ejecutar el argumento listar , o

crear

193.

194. Veamos donde están los comandos independientes, vamos ahacer una impresión de

terminal del argv

195. Tenmdremos un array para ,os argumentos independientes o q nmo tienen pares de

valores
196.
197.

198. Ahora lo que vamos a hacer esacceder al primer elem,nto del array de argumentos

independientes , este array está representado por un guión bajo


199.
200. Ahora con un switch evaluaremos lo que contendrá la variable comando
201.
202. Si lo ejecutamos en la terminal podemos ver como se comporta

203.

204. Ahora vamos a cortar la función crear archivo q teníamos en la parte inferior y la vamos

a pegar dentro dl switch en la opción crear


205.
206. Y debemos de modificar el argumento q le pasamos a esta función , ya no tenemos la

variable base , se lo pasmos desde el argv.base


207.
208. Y lo probamos en la terminal

209.

210. Vamos a ir al archivo multiplicar y vamos a decklarat una función q se va a llamar listar

tabla y va a imprimir en la terminal la tabla de multiplicar de acuetdo a los argumentos base y


límite q le vamos apasar como argumentos, en este caso le pasaremos como,limite x defecto el

valor de 10
211.
212. El poder definir valores por defecto en los parámetros es desde ECMASCRIPT 6

213. Dentro del cuerpo de esta función vamos a copiar el ciclo for , vamciamos data por

coonsole .log y quietams al final el salto de línea y debemos cambiar el 10 de la cxondición por el

limite
214.
215. Ahora debemos de agregar esta función listar tabla en los exports para poder llamarlo

desde el app.js

216.

217.

218. Ahora vamos al app.js e importaremos la función listarTabla que acabamos de crear
219.
220. Vamos al case y en la opción de listar llamamo a la funci´n listar tabla y le pasamos los

dos parámetros q necesita , q son la base y el limite


221.
222. Y lo probamos en la terminal
223.
224. Vamos a modificar en el arhivo multiplicar l función crear archivo para agregarle un

limite
225.
226. EL NO0MBRE DEBE DE QUEDATR ASIIIIIIIII
227.
228. Nos vamos al archivo app.js

229. Y agregamos el parámetro limite en el caes de crear archivo


230.
231. Ahora en la parte superior de app.js donde definimos los argumentos del comando listar

hay que configurralos para el comando crear ,( copiamos el que ya existe del comado listar y lo

modificamos)
232.
233. Ejecuatremos en la terminal

234.

235. 035 VIDEO OPTIOMIZACIONES PARA LA CONFIGURACION DEL YARGS

236. Vamos a optimizar lo trabajado en yargs , vamos amodularizar el código

237. Para esto vamos acrear una carpeta que llamaremos config y dentro un archivo llamado

yargs.js
238.
239. Vamos a copiar del apps todo el código del const argv y lo pegamos en yargs.js
240. .
241. Quedando el yargs
242.
243. Si vemos aquí tant el comando crear como listar reciben los mismos argumentos

244. La base y el limite

245. Vamosa crear otra constante q llamaremos opt de opciones, esas opciones van aser

igual a un objeto , dentro de este objeto voy a copiar el cuerpo de los parámetros de comando

crear
246.
247. Vamos a cambiar de opt a opts , remarco que este objeto tiene la configuración de

ambos parámetros

248. Vamos a reemplazar tanto en command crear como listar , les pasamos el objeto opts
249.
250. Falta algo muy importante , para poder utilizar este objeto (argv) desde los otros

archivos debo de exportalo


251.
252. Vamos a app.js y reemplazamos en require para importar todo el arhcio yargs. Js
253.
254. Todavía funcinará de la misma manera

255. Probamos en la terminal

256.

257. 036 VIDEO COLORES DE LA CONSOLA

258. Para poder ésonalizar los colores del resultado en la consola existe un package de npm

que se llama colors

259. Vamos a buscarlo en npm


260.
261. Copiamos desde a documentación

262. Y lo instalamos desde la terminal

263.

264. Parce q se instaló sn problemas


265.

266. Lo primero q debemso hacer es importarlo con el require


267.
268. En el archivo app.js , agregamos el requite
269.
270. Ahora si vemso la documentación , nos indica q si son strings , sencillamente le damos

.green por ejemplo


271.
272. Por probar vamos a hacer q la tabla de multiplicar salga de un color en particular

273. Vamosa copiar el require del colors y lo pegamos en multiplicar.js


274.
275. Tengo q hacer los requires por cada archivo donde necesitemos esa librería

276. Vamos a agregar antes del for de la función listra tabla lo siguiente , para imprimir un

encabezado de color verde


277.
278. Y probamos en la terminal
279.
280. 037 RESPALDO CON GIT Y GITHUB

281. Ahora vamos aguardar toda el ejercicio de la tabala de multiplicar en github

282. Vamos a abrir la carpeta 03-bases-node en una nueva ventana de vs code

283. Esta carpeta en git o github se conoce como un repositorio , nuestro repositorio lo

tenemos q inixcializar y para eso ejecutamos git init


284.
285. No debe aparecer este mensaje que se inializó un repositorio vacío

286. A continuación debo de registrar en la terminal e comando git status


287.
288. Y veremos tos los archivos y directorios en rojo porq a ninguno de esos se les está dando

seguimiento

289. Dar seguimiento siginifa estar escuchando el momento en el cual alguno de estos

directorios o archivos se ha modificado

290. En nuestro caso nostros no vamos a considerar los modulos de node y los archivos de

texto que contienen las tablas

291. No subimos los modulo de node porq estos se generan a partir del package,json

292. Si vemos la estrucutura de archivo s todos tiene ahora un color verde

293. Ahora , como excluyo a los mosulos de nodo y a las tablas de que se cree un respaldo en

git

294. Para esto debemos de crear un archvio .gitignore


295.

296. Este archivo le dice a git que ignore todo lo q se encuentre dentro de el

297. Vamos indicar que exclya todo lo que está adentro de la carpeta node_modules/

298. Y de la carpeta tablas


299.
300. Guardamos y veremos qvs code cambia agris ambos directorios
301.
302. Si ejecutamos nuevamente el gitstatus notaremos q ya no aparecen los archivos

excluidos

303.

304. Todos estos archivos son los q deb de subir a github


305. Antes de subirlo a github de decirle a git que otodos esos archivos a mi me interesa

hacerle ua fotografía , o lo que se conoce como un snapshot , el término es commit , que es

tomar una fotografía dele stado actual de mi proyecto o de mi repositorio

306. Para indicarle que confirmo que voy a incluir todos esos archivos le doy git add .
307.
308. Si digitamos nuevamente git status , tendremos q ver todo en verde

309.

310. A todos esos archivos git les va dar seguimiento

311. A todos esto que está de color verde es a lo que tenemos q hacerle el commit

312. Toda esa área q est´pa de color verde se le conoce como el stage y es lo previo a realizar

un commit

313. Registramos git commit -m “Commit inicial” con el menos m podemos agregar un

mensaje descriptivo al momento en el cul realizamos el commit


314.

315. Ejecutemos de nuevo el git status


316. Y nos indica q está trabajando en la rama master , no hay nada para hacer commit y está

trabajando en un árbol limpio


317.
318. No voy a entrar mucho en las ramas porq este no es un curso de git

319. Lo mportante hasta ahora es q ya tenemos los respaldos locales, ahprav debemos de

subirlo a github

320. Vamos agithub .com

321. In gresamos con nuestra cuenta , o nos creamos una


322.

323. Vamos a darle al botón verde para crear un nuevo repositiorio


324.

325. Le vamos aponer de nombre multiplicar-node


326.
327. Podemos crear n repositorios públicos
328.
329. Esta es la ventana que muestra el repositorio creado
330.
331. En este momento da igual si trabajamos con hhttps o ssh

332. Las dos muy seguras

333.

334. Vamos adejarlo en hhtps


335. Copiamos el comando para hacer push
336.
337. Y lo pegamos en la terminal de nuestro proyecto
338.
339. A continuación digitamos git push –u origin master
340.
341. El –u establece el origin como la ubicación por defecto , lo q siginfa q cuando le demos

git push va a subirlo a origin master

342. Si es la primera vez les va solcitar su suario y contraseña de git


343. Si recargamos el navegador veremops nuestro código en el repostorio remoto
344. Va aestra todo nuestro código excepto las tablas y los modulos de node

345. Vamos axcraer un archivo readme para q cuando ingesn al repositorio se vea un texto

informativo
346.

347. Registramos el sgte texto


348.
349. Verpan que el archivo readme se pone en verde porq es un uevom archivo

350.

351. Ahora hacemos todo el proceso de nuevo para subir el archivo readme

352. Digitamos git status


353.

354. Vemos q tenemos un nuevo archivo, que es el README

355. Ahora diitamos git add .

356. Y luego un git ststus, ahora el readme debería parecer en verde


357.
358. Ahora le damos commit y con el mensaje gregamos el readme

359.

360. Ahora le damos git push para subirlo , como le dimos – u en el anterior push , lo sube a

la ubicación por defecto


361.
362. Y verificamos que está en el repositorio de github
363.
364.

365. 041 VIDEO 041 – INICIO DEL PROYECTO- POR HACER

366. crearemos una carpeta que se llamrá 04-por-hacer , abrimos la carpeta con vs code
367. e inicilazmos el proyecto con npm init

368. abrimso la terminal con ctrl + shift + ñ

369. despuesdel npm init le damos enter hasta que termine

370. entonces ha creado el el package.json y ya estamos listos para importar paquetes

371. necesito intalar el paquete yars y el pauete colors

372.

373. Si verificamos ya tenemos ambas depwendencias


374.

375. Crearemos un archivo llamado app.js


376.

377. Importamos con require el yargs


378.

379. Y vamos a imprimir en la terminal el argv para visualizar lo q nos devuelve

380. Pero vamos a analizar por un momento como va a ser nuestra aplicación de tareas

381.

382.

383.

384.

385.

386.

387.
388.

389.

390.

391. 2

También podría gustarte