"> Instalar NodeJS - Funny Frontend

Introducción al stack MEAN (2): Instalar NodeJS

Instalar NodeJS

Requisitos

  • Node
  • npm – incluido en la instalación de Node

Herramientas

  • Editor de código (Sublime Text, Brackets, etc)
  • Terminal – usaremos iTerm2 (usuarios de Mac/Linux)
  • GitBash + ConEmu (usuarios Windows)
  • Postman (Chrome)
  • RESTClient (Firefox)

Instalación

Simplemente entra en la web de node y descarga Node. Ejecuta el instalador y dale a continuar sin más, ¡ya tendrás instalado Node y npm!, lo más fácil del mundo.

Instalación de Node

Instalación de Node

Hacemos una doble comprobación, ve a la consola y escribe: node -v y npm -v.

node -v y npm -v

node -v y npm -v

Si te aparece el temido “command not found” en una de las comprobaciones, asegúrate que node ha sido agregado a tu PATH. Esto nos permite usar node y los comandos npm en la línea de comandos de la terminal. Simplemente busca donde se instaló npm, copia la ruta, abre la ventana de variables de entorno y añade al path la ruta del npm. Reinicia tu ordenador y listo.

Si tienes otros problemas para instalar Node, consulta los siguientes enlaces:

Ahora que tenemos todo instalado, vamos a seguir y a hacer cositas. Empezaremos con los cimientos de nuestro stack MEAN, ¡Node!

Empezando con Node

Vamos a ver como empezar a construir nuestras aplicaciones de Node. Trataremos la configuración básica de Node, la instalación de packages/paquetes npm y crearemos una app sencilla.

Configuración (package.json)

Las aplicaciones de Node se configuran dentro de un archivo llamado package.json. Necesitarás un package.json por cada proyecto que hagas.

En este archivo configuras el nombre de tu proyecto, versiones, repositorio, autor, y todas las dependencias principales.

Aunque ahora esto puede parecerte un tanto abrumador, si te fijas los atributos creados aquí facilitan a otros desarrolladores el involucrarse en el proyecto. Toda esta información que tiene el archivo la veremos en los tutoriales, pero aquí tenéis otro ejemplo de un package.json muy simple y solo con lo básico:

Estos son los atributos más básicos que se requieren.

main indica a Node que archivo usar cuando queremos iniciar nuestras aplicaciones. Llamaremos a este archivo server.js para todas nuestras aplicaciones y será donde iniciemos nuestras apps.

Podéis ver aquí otros atributos que podemos especificar en nuestro package.json.

Iniciando la aplicación Node

Con el archivo package.json es como iniciaremos toda aplicación. Es un latazo recordar exactamente que va dentro del archivo package.json, así que npm tiene un comando que te crea el package.json de forma rápida y sencilla. Ese comando es: npm init.

Vamos a crear un proyecto como ejemplo y a probar el comando npm init.

  1. Creamos una carpeta: mkdir test-guay
  2. Entramos en la carpeta test-guay: cd test-guay
  3. Empezamos nuestro proyecto Node: npm init

Tendrás varias opciones que puedes dejar por defecto o personalizar a tu gusto. Por ahora, puedes dejar todo por defectos salvo el archivo main (entry point). El nuestro se llamará server.js.

npm init

npm init

Creando una App en Node muy sencilla

Abre tu archivo package.json y borra todo salvo estos requisitos básicos:

Ahora necesitamos crear el archivo server.js. Lo único que vamos poner aquí es un console.log con lo que te de la gana, con esto mostraremos información en la consola. Vamos a usar esto para enviar un mensaje cuando iniciemos la app Node.

Y esto es todo el contenido de nuestro server.js:

Ahora arrancamos nuestra aplicación Node usando el comando: node server.js

node server.js

node server.js

De acuerdo, por mucho entusiasmo que le ponga esto queda algo soso, ¡pero mejoraremos!

Iniciando la aplicación Node

Para arrancar una aplicación node simplemente hemos puesto node server.js en la consola.

server.js lo hemos definido como nuestro archivo principal (main file) dentro del package.json, que especificamos para el inicio.

Nuestro servidor ahora se ha detenido ya que solo hemos hecho un console.log(), pero en el futuro, si deseas detener tu servidor Node debes hacer un ‘ctrl + c‘.

Our server will now be stopped since all we did was console.log(), but in the future, if you would like to stop your Node server, you can just type ‘ctrl c’.

Reiniciando la aplicación Node cuando guardamos cambios en los archivos

Por defecto el comando node server.js arrancará nuestra aplicación, pero no reiniciará cuando realicemos cambios en los archivos. Esto es una molestia si estamos desarrollando y tenemos que detener el servidor con ctrl+c y luego reiniciarlo cada vez que hagamos un cambio.

Por suerte existe un npm package que observa los ficheros cambiados y reinicia nuestro servidor cuando los cambios son detectados. Este package se llama nodemon y para instalarlo simplemente vamos a la consola y escribimos:

npm install -g nodemon

Ahora en vez de usar node server.js, podemos usar nodemon server.js

Ahora entra en tu fichero server.js y haz cambios, observa como la aplicación se reinicia sola con cada cambio que hagas:

nodemon server.js

nodemon server.js

 

Ya tenemos configurada una app en Node sencilla y su inicio mediante línea de comandos. Estamos un paso más cerca de desarrollar aplicaciones en Node dignas de mostrar al mundo.

Packages/paquetes

Los packages amplían las funcionalidades de nuestra aplicación. Como ya os conté en la entrada anterior, una de las 4 partes del stack MEAN, Express, es un package de Node.

Veremos como añadir e instalar paquetes. Una vez sepamos como ponernos paquetes en la aplicación, empezaremos a usar los otros componentes del stack MEAN.

Instalando paquetes

En el archivo package.json es donde hemos definido el nombre de nuestra app y el main file que lanzará nuestra aplicación. Aquí también definiremos los packages que necesitamos. Hay dos modos de añadir packages a nuestro proyecto: escribiéndolos directamente dentro del package.json o instalándolos por comandos en la consola. Ambas formas añaden los packages que necesitamos a la sección dependencies del package.json.

Método 1. Escribiendo los packages que necesitamos dentro del package.json

Archivo package.json al que hemos añadido la dependencia Express:

Así de sencillo, ahora tenemos Express como un paquete de nuestra aplicación ¡y tenemos dos partes del stack MEAN! (_E_N)

Te estarás preguntando que hace el carácter ~ al lado de nuestra versión de Express. npm usa versionamiento semántico a la hora de declarar las versiones de los paquetes. Este carácter ~ significa que obtendrás una versión razonablemente cercana a la que has indicado.

En este ejemplo, solo las versiones de Express que sean mayores que la 4.8.6 y menores que la 4.9 se instalarán.

Cada uno de los tres números representan una parte diferente de esa versión. Por ejemplo, en Express 4.8.6 el 4 representa la versión principal, el 8 una versión secundaria, y el 6 representa un patch/parche. A los bugs corregidos se les llama parches y no deberían afectarte nada. Una actualización de la versión secundaria añadirá nuevas características, pero aún así no se cargará tu código anterior. Y por último, una actualización de la versión principal si que podría cargarse tu código, con todos los gritos histéricos y arrancamiento de pelos que eso conlleva.

Usar este tipo de versionamiento es buena práctica porque nos aseguramos de que solo la versión que especificamos será la que se baje a nuestro proyecto. Podríamos corregir bugs hasta la versión 4.9 pero no un cambio importante, eso ya vendría con la versión 5.0.

Si revisamos esta aplicación en el futuro y usamos npm install, sabemos exactamente que versión de Express estamos usando y que no vamos a cargarnos nuestra aplicación trayéndonos cualquier versión nueva desde que creamos el proyecto.

Método 2. Añadiendo paquetes desde la consola

La segunda forma de añadir paquetes a nuestra aplicación es usando los comandos de npm en la consola. Muchas veces es el camino más sencillo y mejor ya que npm puede guardar automáticamente el package en tu archivo package.json. Y aquí está la parte chula: ¡añadiendo el número de versión adecuado! Si escribes los paquetes en el package.json tendrás que buscar por ahí en Google el número de versión correcto. Esta método te facilita la vida.

Este es el comando para instalar Express y el modificador –save lo añadirá al package.json:

npm install express –save

Te habrás dado cuenta de que este comando coge el package express y lo instala dentro de una carpeta nueva llamada node_modules. Aquí es donde los packages residen en los proyectos Node. Este comando instala solo los paquetes que hemos especificado (Express en este caso).

 Instalando todos los paquetes

El método 2 nos instalará los paquetes. El método 1 añade los paquetes a tu paquete.json, pero no los instala en ese momento. Para instalar todos los paquetes que están en el atributo dependencies del package.json en la carpeta node_modules, simplemente escribimos:

npm install

Verá las dependencias que necesitamos y las descargará en nuestra aplicación, dentro de la carpeta node_modules.

Instalando varios paquetes

npm también trae una forma práctica de instalar varios paquetes. Solo tienes que escribir los paquetes que quieras en un solo comando npm install y se bajarán a tu proyecto.

npm install express mongoose passport –save

Es una forma sencilla de bajarte los paquetes necesarios.

Recapitulemos

Bien, cuando queremos empezar un nuevo proyecto en Node, solo necesitamos ejecutar dos comandos en la carpeta donde queremos crear el proyecto:

  1. npm init
  2. Rellenar los campos necesarios que te piden por consola para crear tu archivo package.json
  3. npm install express –save

Listo. Seguiremos adelante e indagaremos en el uso de Express y Node para configurar la base de nuestras aplicaciones con el stack MEAN.

Pero eso será en la siguiente entrada.

 

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *