¿Qué es Node.JS y cómo funciona?

Si trabaja con desarrollo web en cualquier capacidad, seguramente necesitará aprender y escribir Javascript en algún momento. Al unificar los idiomas del lado del servidor y del cliente, el nodo está destinado a simplificar el desarrollo de la aplicación web. Nodo.

js, o simplemente nodo, es un tiempo de ejecución de JavaScript que permite la ejecución del código JS fuera de un navegador web. El nodo se basa en el motor V8 JavaScript de Google, el mismo que alimenta el procesamiento de Chrome. Se usa con frecuencia para el desarrollo de aplicaciones, integrándose con los marcos de aplicación web modernos y la secuencia de comandos del lado del servidor con JS.

En la práctica, el nodo le permite ejecutar archivos RUN.

JS utilizando el comando del nodo de la misma manera que ejecutará archivos que se ejecutan en Python: cuando el código Javascript se ejecuta en nodo, se comporta ligeramente de manera diferente. Para comenzar, no hay DOM (el HTML cargado de una página web), lo que significa que no puede acceder a los elementos HTML o utilizar de manera efectiva una biblioteca como jquery (aunque hay alternativas). Sin embargo, tiene acceso a los recursos del sistema y, por lo tanto, puede leer y escribir archivos, establecer conexiones de red e incluso servir aplicaciones.

¿Qué es exactamente un nodo?

El nodo también se usa para crear aplicaciones de escritorio a través del marco electrónico. Slack, discordia, código de estudio visual y Skype están alimentados por electrones.

Esencialmente, ejecuta una versión reducida de Chrome optimizada para uso de escritorio, y la aplicación en sí es una aplicación web. Como resultado, las aplicaciones de electrones consumen una gran cantidad de RAM y se desempeñan ligeramente peor que sus contrapartes nativas, pero esta compensación se realiza con frecuencia para consistencia en todos los sistemas operativos y la web.

Mientras que el nodo está fresco y de sí mismo, no sería tan popular como lo es hoy sin NPM, el administrador de paquetes de nodos. NPM permite la extensión del nodo con marcos y complementos, así como la fácil instalación e incorporación del código en nuevos proyectos.

El ecosistema de nodos (módulos NPM)

Considere el siguiente escenario: está trabajando en un script y necesita una solicitud posterior a un recurso externo. Puede usar el método de búsqueda incorporado de JS, o podría usar Axios, que es más fácil de usar y utiliza promesas.

Si quisiera incorporar a Axios en su proyecto, le gustaría mover su script a su propia carpeta y ejecutar el siguiente comando: Esto genera un archivo llamado Package.

json que contiene información sobre la configuración del proyecto y los paquetes instalados. El comando de instalación de NPM crea una carpeta con nombre de los módulos de nodo en los que se almacenan los módulos descargados. PRECAUCIÓN: Esta carpeta puede crecer bastante grande en grandes proyectos con numerosos módulos. Para incorporar a Axios en su script, incluiría la siguiente línea en la parte superior: alternativamente, en la sintaxis de ES6: esto importa el módulo de los módulos de nodo y lo hace accesible a su script. Desde allí, puede usarlo como si fuera un componente de tu proyecto y una función que creaste.

¿Cómo funciona la integración de nodos con NGINX y Apache?

Axios es una ilustración simple de una utilidad de NPM útil. Probablemente esté familiarizado con otros módulos, como reaccionar, angular, o Vue; Estos son todos los marcos de aplicación web integrales para desarrollar aplicaciones web interactivas que se ejecutan en el navegador. Las aplicaciones de las marcoworks se denominan con frecuencia como «aplicaciones de nodo».

Si bien no se están ejecutando en el nodo, ya que el producto final será HTML estático que puede ser servido por cualquier servidor web anterior, el nodo se usa para el desarrollo, y los paquetes del ecosistema de nodos se instalan utilizando NPM. Después de todo, todo es JavaScript.

A menudo, el Código de Desarrollo se escribirá en JavaScript «Siguiente-generación», como ES6, y se compilará utilizando WEBPACK y BABEL en un solo archivo «bundle.

¿Es el nodo la mejor opción para mi sitio web?

js» grande que se puede servir al cliente para la ejecución. El nodo no se comunica directamente con NGINX o Apache; Todo el nodo hace son los archivos run.

js. Sin embargo, las aplicaciones de nodo construidas con reaccionar u otro marco se comportan ligeramente de manera diferente a las páginas estándar HTML. Esencialmente estás sirviendo una página HTML en blanco que carga un archivo bundle.

js cuando usa reaccionar. Este archivo de paquete funciona de manera similar a cualquier otro archivo de JavaScript, y se puede alojar en Nginx o Apache. Las cargas de los paquetes reaccionan, que luego se hacen se rinden y muestran su contenido en la página web. El archivo del paquete contiene todo el contenido.

Una cosa que debe tener en cuenta es la popularidad de la biblioteca Express. Express es un servidor web que también puede actuar como un servidor HTTP.

Express se usa frecuentemente como el enrutador para las API de repuesto basadas en nodos; Puede escuchar un puerto, solicitudes hacia adelante a otra función (generalmente una que accede a otro recurso, como una base de datos) y luego devuelva una respuesta HTTP. En este caso, la capa se extiende en la parte superior del servidor NGINX que sirve a su contenido estático y ruta las rutas todas / API a través de Express. Esto permite que su aplicación web acceda a los recursos externos y haga un uso completo de las capacidades de scripts del lado del servidor del nodo y la interfaz de base de datos.

NGINX puede actuar como un proxy inverso para la ruta / API y como servidor web para el contenido estático restante. Express, por otro lado, no es un servidor web.

No debe ser usado en lugar de nginx en t.