GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare una Web App con Node.js su Jelastic Cloud

Nel seguente tutorial imparerai come creare una semplice web app in Node.js e come pubblicarla online utilizzando Jelastic Cloud.

L'applicazione di esempio utilizzata in questa guida risponderà alle chiamate REST, consentendo al client di salvare e leggere un archivio di libri.

Express verrà utilizzato come framework per la gestione delle richieste Web e la libreria SQLite per il salvataggio delle informazioni.

Creazione di un'applicazione server

Per creare un'applicazione compatibile con gli standard forniti da Node.js, innanzitutto inizializzare una configurazione di base di npm. Crea una cartella per il progetto, qui chiamata 'libri'.

Quindi, esegui il seguente comando della console, nella cartella appena creata:

 npm init

Una procedura guidata inizierà a creare un file package.json con tutte le informazioni di base sul progetto e sulle sue dipendenze.

Usa i valori suggeriti per andare avanti, come mostrato di seguito:

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

Rispondi "Sì" per completare la procedura.

Quindi, continua installando i due moduli principali:

npm install --save express sqlite3
  • express:un framework che gestisce le richieste HTTP in entrata;
  • sqlite3:un modulo client per la gestione di piccoli database, dove salvare i tuoi libri.

Aggiungendo il parametro --save, a npm viene richiesto di aggiornare il nostro package.json e aggiunge queste due dipendenze al progetto.

Quindi, crea il punto di ingresso per l'applicazione creando il file index.js nella stessa directory di package.json.

Usa il tuo editor di testo preferito per incollare il seguente contenuto nel file appena creato:

/**
* 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');
});

Creare un nuovo ambiente Jelastic

Entra nel pannello di gestione di Jelastic Cloud e poi premi il pulsante "NUOVO AMBIENTE" che si trova in alto a sinistra.

Verrà aperta la scheda di configurazione del nuovo ambiente.

Seleziona "Node.js" dalle schede sopra e prepara il tuo ambiente come indicato sopra.

Completa l'installazione facendo clic sul pulsante "Crea".

Distribuzione dell'applicazione Node.js

Prima di effettuare la distribuzione vera e propria, creare un archivio zip o tar con i file precedentemente creati come segue:

  • index.js
  • package.json

Una volta creato l'archivio, carica il pacchetto all'interno della tua istanza. Utilizza Deployment Manager facendo clic sul pulsante "Carica".

Seleziona l'archivio creato in precedenza e completa il caricamento.

Una volta terminato, utilizzare il pulsante "Deploy to" come mostrato in figura:

Seleziona l'ambiente creato per l'applicazione e fai clic sul pulsante "Distribuisci":

Al termine della procedura, accedi alla tua istanza cliccando sul pulsante "Apri nel browser":

Se tutto funziona correttamente, la tua istanza risponderà con:

[]

Quindi, usa il browser per salvare i primi 3 libri visitando i seguenti URL. Ricordati di sostituire l'indirizzo con quello della tua istanza:

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

Quindi, assicurati che i libri siano stati salvati accedendo all'URL principale della tua istanza:

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

Il server dovrebbe rispondere con il seguente contenuto:

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

Linux
  1. Come creare un database in MySQL con MySQL Workbench

  2. In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

  3. Come creare una Vm da zero con Virsh?

  4. Node.js Conflitti:/sbin/node Vs /usr/bin/node?

  5. Come ottenere statistiche di sistema con node.js

Come configurare un Firewall su Jelastic Cloud

Come installare Apache Tomcat su Jelastic Cloud

Come installare Magento su Jelastic Cloud

Come creare una Web App con Node.js su Jelastic Cloud

Come creare un e-commerce con Magento

Come creare ragni web con Scrapy