CLI: créela con Javascript y Node.js

[vc_row el_class=”blog-info”][vc_column][vc_single_image source=”featured_image” img_size=”full” style=”vc_box_rounded”][vc_empty_space height=”40px”][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text el_class=”font-weight-bold”]

¡Cree su propia CLI con Javascript y Node.js!

Tiene la capacidad de crear su propia CLI impresionante con Node.js que podría automatizar cualquier proceso que actualmente realiza manualmente.

Un consejo que le daré a los nuevos ingenieros de software es: Si no puede encontrar una herramienta para automatizar un proceso que necesita y no puede encontrar una que ya exista, cree una usted mismo.

Lo que necesita tener

  • Comprensión básica de Javascript y Node.js
  • Una terminal basada en Unix
  • Un editor de texto, voy a usar VS Code en este ejemplo

[/vc_column_text][vc_empty_space height=”40px”][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text]


Configurar esta cosa

Vamos a crear el directorio de su proyecto, inicializaremos Node.js y agregaremos los archivos que necesitará para que su proyecto sea compatible con la línea de comando:

1. Mejore su entorno abriendo su terminal e ingresando el siguiente comando y completando el aviso:
mkdir myAwesomeCLI && cd myAwesomeCLI && npm init

Esto creará el directorio de su proyecto, abrirá ese directorio e inicializará su proyecto Node.js.

2. Cree un directorio bin y un archivo de índice, será lo que su proyecto necesitará para su herramienta de línea de comandos, con este comando:
mkdir bin && touch bin/index.js

3. Escriba el shebang en su archivo de índice, el shebang le dirá a su archivo que se puede ejecutar como un script en una herramienta de terminal:
echo '#!/usr/bin/env node' > bin/index.js

4. Si tiene configurado el comando VSCode, abra su proyecto con code.  o abra su proyecto en su editor de texto preferido.

5. Vaya a bin/index.js, agregue console.log("Hello World!"); debajo de su shebang, si está usando VSCode, debería ver algo como esto:

CLI
Ejemplo de archivo index.js abierto con {Hello World!}.

Instalar y ejecutar

Vamos a configurar su proyecto para que pueda instalarse globalmente, instalarlo globalmente y probar la instalación ejecutándolo:

1. Asigne su directorio bin en su paquete JSON agregando la siguiente definición:

"bin": {
"myawesomecli": "./bin/index.js"
}

Ejemplo de un paquete de ejemplo.json a continuación…

2. En su terminal en el directorio de su proyecto, ejecute: npm install --global

3. Pruebe para ver si su instalación escribe el nombre del proyecto, en este caso: myawesomecli y debería imprimir “Hello World!” a la pantalla

CLI
Ejemplo de definición de paquete JSON.

Has creado una herramienta CLI, ¡es usted increíble ! 🎉

[/vc_column_text][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row][vc_row el_class=”social-info”][vc_column width=”1/6″][/vc_column][vc_column width=”2/3″][vc_row_inner][vc_column_inner width=”1/2″][vc_column_text][social_share_button themes=’theme1′][/vc_column_text][/vc_column_inner][vc_column_inner el_class=”youtube-inner-col” width=”1/2″][vc_column_text][likebtn theme=”youtube” lang=”auto” show_like_label=”0″ white_label=”1″ alignment=”right”][/vc_column_text][/vc_column_inner][/vc_row_inner][vc_row_inner el_class=”social-info-inner”][vc_column_inner width=”1/4″][vc_single_image image=”921″][/vc_column_inner][vc_column_inner width=”3/4″][vc_column_text]

Diego Pacheco

Ingeniero en Sitemas, MBA (Babson College). Desarrollador PHP/Java/JavaScript. Fundador & CEO de EpicStudio. Entusiasta de las tecnologías web (JavaScript, Vue, Laravel, AWS, Docker) Viajes, Negocios, Surf y Growth.[/vc_column_text][asvc_list_item icon_fontawesome=”fa fa-calendar-o” icon_size=”14px”]Programar una reunión[/asvc_list_item][/vc_column_inner][/vc_row_inner][/vc_column][vc_column width=”1/6″][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

Recent Post

[/vc_column_text][lvca_posts_carousel posts_query=”size:3|order_by:rand|post_type:post” image_linkable=”true” image_size=”full” taxonomy_chosen=”post_tag” display_title=”true” display_post_date=”true” display_summary=”true” autoplay_speed=”3000″ animation_speed=”300″ display_columns=”3″ scroll_columns=”3″ gutter=”3″ tablet_display_columns=”2″ tablet_scroll_columns=”2″ tablet_gutter=”3″ tablet_width=”800″ mobile_display_columns=”1″ mobile_scroll_columns=”1″ mobile_gutter=”3″ mobile_width=”480″][vc_empty_space height=”20px”][/vc_column][/vc_row]