GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo crear una aplicación web con Node.js en Jelastic Cloud

En el siguiente tutorial, aprenderá cómo crear una aplicación web simple en Node.js y cómo publicarla en línea usando Jelastic Cloud.

La aplicación de muestra utilizada en esta guía responderá llamadas REST, lo que permitirá al cliente guardar y leer un archivo de libro.

Express se utilizará como marco para administrar solicitudes web y la biblioteca SQLite para guardar información.

Crear una aplicación de servidor

Para crear una aplicación compatible con los estándares proporcionados por Node.js, primero, inicialice una configuración básica de npm. Cree una carpeta para el proyecto, aquí llamada 'libros'.

Luego, ejecute el siguiente comando de consola, en la carpeta recién creada:

 npm init

Un asistente comenzará a crear un archivo package.json con toda la información básica sobre el proyecto y sus dependencias.

Use los valores sugeridos para avanzar, como se muestra a continuación:

This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and what exactly they do.

Use `npm install ` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (books)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to package.json:

{
 "name": "books",
 "version": "1.0.0",
 "description": "",
 "main": "index.js",
 "scripts": {
   "test": "echo \"Error: no test specified\" && exit 1"
 },
 "author": "",
 "license": "ISC"
}


Is this OK? (yes) yes

Responda 'Sí' para completar el procedimiento.

Luego, continúa instalando los dos módulos principales:

npm install --save express sqlite3
  • express:un marco que maneja las solicitudes HTTP entrantes;
  • sqlite3:un módulo de cliente para administrar pequeñas bases de datos, donde guardar sus libros.

Al agregar el parámetro --save, se solicita a npm que actualice nuestro paquete.json y agrega estas dos dependencias al proyecto.

Luego, cree el punto de entrada para la aplicación creando el archivo index.js en el mismo directorio que el paquete.json.

Use su editor de texto favorito para pegar el siguiente contenido en el archivo recién creado:

/**
* Per prima cosa, includiamo i due moduli installati 
* precedentemente
*/
var express = require('express');

var sqlite3 = require('sqlite3').verbose();

/**
*  At this point, create a database in the memory
* (i.e. without saving it on the disk)
* where to save your data
*/
var db = new sqlite3.Database(':memory:');

/**
* So, create a new chart with just two fields
* - title : Il titolo del libro
* - author : Il nome completo dell'autore
*/
db.run("CREATE TABLE books (title TEXT, author TEXT)");

/**
* Initialize a new express application 
*/
var app = express();

/**
* Use the main server root to
* list all the books available 
*/
app.get('/', function (req, res) {

   db.all(`SELECT * FROM books` , (err,rows) => {

       /**
        * Send all the lines found to the “books” chart
        */
       res.send( rows );
   });

});

/**
* For saving, instead, use
*  /save/ followed by the title and the author
*/
app.get('/save/:title/:author', function (req, res) {

   /**
    * Prepare INSERT instruction in your chart 
    */
   var stmt = db.prepare("INSERT INTO books VALUES (?, ?)");

   /**
    * And run the query above, by transferring all the data
    * to the url
    */
   stmt.run( req.params.title, req.params.author , (err,rows) =>{

       /**
        * Finally, send a ‘true’ status to show that
        * the saving was successful
        */
       res.send(true);
   });

   stmt.finalize();

});

/**
* Therefore, run the server which listens on 8001 port. 
*/

app.listen( 8001 , function () {
   console.log('Books server ready');
});

Creando un nuevo entorno Jelastic

Ingrese al panel de administración de Jelastic Cloud y luego presione el botón "NUEVO ENTORNO" ubicado en la parte superior izquierda.

Se abrirá la pestaña de configuración del nuevo entorno.

Seleccione "Node.js" en las pestañas de arriba y prepare su entorno como se indica arriba.

Complete la instalación haciendo clic en el botón 'Crear'.

Despliegue de la aplicación Node.js

Antes de realizar la implementación real, cree un archivo zip o tar con los archivos creados anteriormente de la siguiente manera:

  • index.js
  • paquete.json

Una vez que se crea el archivo, cargue el paquete dentro de su instancia. Use el Administrador de implementación haciendo clic en el botón 'Cargar'.

Seleccione el archivo creado anteriormente y complete la carga.

Una vez terminado, utilice el botón "Implementar en" como se muestra en la figura:

Seleccione el Entorno creado para la aplicación y haga clic en el botón 'Implementar':

Cuando se complete el procedimiento, acceda a su instancia haciendo clic en el botón "Abrir en el navegador":

Si todo funciona correctamente, su instancia responderá con:

[]

Luego, use el navegador para guardar los primeros 3 libros visitando las siguientes URL. Recuerda reemplazar la dirección con la de tu instancia:

http://books.it1.eur.aruba.jenv-aruba.cloud/save/Il%20Decamerone/Giovanni%20Boccaccio

http://books.it1.eur.aruba.jenv-aruba.cloud/save/Il%20fu%20Mattia%20Pascal/Luigi%20Pirandello

http://books.it1.eur.aruba.jenv-aruba.cloud/save/Il%20barone%20rampante/Italo%20Calvino

Por lo tanto, asegúrese de que los libros se hayan guardado navegando a la URL principal de su instancia:

http://books.it1.eur.aruba.jenv-aruba.cloud/

El servidor debe responder con el siguiente contenido:

[{"title":"Il Decamerone","author":"Giovanni Boccaccio"},{"title":"Il fu Mattia Pascal","author":"Luigi Pirandello"},{"title":"Il barone rampante","author":"Italo Calvino"}]

Linux
  1. Cómo crear una base de datos en MySQL con MySQL Workbench

  2. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  3. Conflictos de Node.js:/sbin/node Vs /usr/bin/node?

  4. Cómo obtener estadísticas del sistema con node.js

  5. Cómo configurar ssh sin contraseña con claves RSA

Cómo configurar un Firewall en Jelastic Cloud

Cómo instalar Apache Tomcat en Jelastic Cloud

Cómo instalar Magento en Jelastic Cloud

Cómo crear una aplicación web con Node.js en Jelastic Cloud

Cómo crear un comercio electrónico con Magento

Cómo crear arañas web con Scrapy