Saltar al contenido

¿Cómo empaquetar e implementar la aplicación web Node.js + express?

Solución:

Despliegue Node.js aplicaciones es algo muy fácil. En maven, hay pom.xml. Concepto relacionado en Node.js es package.json. Puede indicar sus dependencias en package.json. También puede realizar la configuración ambiental en package.json. Por ejemplo, en el entorno de desarrollo puede decir que

Quiero ejecutar pruebas unitarias.

pero en producción;

Quiero saltarme las pruebas unitarias.

Tienes repositorios locales para maven bajo .m2 carpeta. En Node.js, hay node_modules carpeta en su proyecto Node.js. Puede ver las carpetas del módulo con su nombre.

Vamos a la grunt parte de esta respuesta. Grunt es un administrador de tareas para sus activos frontend, html, javascript, css. Por ejemplo, antes de la implementación, puede minimizar html, css, javascript incluso imágenes. También puedes poner grunt funciones de ejecución de tareas en package.json.

Si desea ver una aplicación de muestra, puede encontrar una aplicación de blog de ejemplo aquí. Verifique la estructura de la carpeta y package.json para referencia.

Para la implementación, le sugiero la implementación de heroku para aplicaciones de inicio. Puede encontrar cómo hacerlo aquí. Esta es una implementación simple basada en git.

En la parte de ejecución del proyecto, simplemente configure su entorno NODE_ENV=development y node app.js. Aquí app.js está en tu proyecto.

Aquí hay un concepto relativo para java y nodejs;

  1. maven clean install => npm install
  2. .m2 carpeta => node_modules(En la carpeta del proyecto)
  3. mvn test => npm test(sección de prueba en package.json)
  4. junit, powermock, … => mocha, unidad-nodo, …
  5. Spring MVC => Express.JS
  6. pom.xml => package.json
  7. import package => require('module_name')

No existe una forma estandarizada, pero estás en el camino correcto. Si tu package.json está actualizado y bien mantenido, puede simplemente copiar / zip / clonar el directorio de su aplicación en el sistema de producción, excluyendo el node_modules.

En su sistema de producción, ejecute
npm install para instalar tus dependencias, npm test si tienes pruebas y finalmente NODE_ENV=production node server.js

Algunas diapositivas recientes que consideré bastante útiles que también incluyen el tema de envoltorios como para siempre, se pueden encontrar aquí.

  1. ¿Existe algún formato / pautas estándar de aplicaciones web de nodos de empaquetado creadas con express? (¿Existe un sistema de empaquetado jar / war similar para aplicaciones de nodo?)

Sí, la especificación de paquetes CommonJS:

Esta especificación describe el formato del paquete CommonJS para distribuir programas y bibliotecas CommonJS. Un paquete CommonJS es un paquete cohesivo de una colección de módulos, código y otros activos en un solo formulario. Proporciona la base para la entrega, instalación y administración convenientes de los componentes de CommonJS.

Para su próxima pregunta:

2. ¿Cómo lo implemento una vez empaquetado? ¿Se convertiría en un exe, ya que también es su propio contenedor?

Secundo la sugerencia de Hüseyin de implementar en Heroku para la producción. Para el desarrollo y la puesta en escena utilizo Node-Appliance con VirtualBox y Amazon EC2, respectivamente:

Este programa toma una máquina Debian construida por build-debian-cloud o Debian-VirtualBox-Appliance y la convierte en un “dispositivo” Node.js, capaz de ejecutar una aplicación Node implementada a través de git.

Tu aplicación web no se convertirá en una exe.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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