GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erstellen Sie eine Web-App mit Node.js auf Jelastic Cloud

Im folgenden Tutorial erfahren Sie, wie Sie eine einfache Web-App in Node.js erstellen und mit Jelastic Cloud online veröffentlichen.

Die in diesem Handbuch verwendete Beispielanwendung beantwortet REST-Aufrufe, sodass der Client ein Bucharchiv speichern und lesen kann.

Express wird als Framework zum Verwalten von Webanfragen und die SQLite-Bibliothek zum Speichern von Informationen verwendet.

Erstellen einer Serveranwendung

Um eine Anwendung zu erstellen, die mit den von Node.js bereitgestellten Standards kompatibel ist, initialisieren Sie zunächst eine grundlegende Konfiguration von npm. Erstellen Sie einen Ordner für das Projekt, hier „Bücher“ genannt.

Führen Sie dann den folgenden Konsolenbefehl im neu erstellten Ordner aus:

 npm init

Ein Assistent beginnt mit der Erstellung einer package.json-Datei mit allen grundlegenden Informationen zum Projekt und seinen Abhängigkeiten.

Verwenden Sie die vorgeschlagenen Werte, um fortzufahren, wie unten gezeigt:

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

Antworten Sie mit „Ja“, um den Vorgang abzuschließen.

Fahren Sie dann mit der Installation der beiden Hauptmodule fort:

npm install --save express sqlite3
  • express:ein Framework, das eingehende HTTP-Anforderungen verarbeitet;
  • sqlite3:ein Client-Modul zum Verwalten kleiner Datenbanken, wo Sie Ihre Bücher speichern können.

Durch Hinzufügen des Parameters --save wird npm aufgefordert, unsere package.json zu aktualisieren, und fügt diese beiden Abhängigkeiten zum Projekt hinzu.

Erstellen Sie dann den Einstiegspunkt für die Anwendung, indem Sie die Datei „index.js“ im selben Verzeichnis wie „package.json“ erstellen.

Verwenden Sie Ihren bevorzugten Texteditor, um den folgenden Inhalt in die neu erstellte Datei einzufügen:

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

Erstellen einer neuen Jelastic-Umgebung

Rufen Sie das Verwaltungsfenster von Jelastic Cloud auf und klicken Sie dann oben links auf die Schaltfläche „NEUE UMGEBUNG“.

Die Konfigurationsregisterkarte der neuen Umgebung wird geöffnet.

Wählen Sie „Node.js“ aus den Tabs oben aus und bereiten Sie Ihre Umgebung wie oben angegeben vor.

Schließen Sie die Installation ab, indem Sie auf die Schaltfläche „Erstellen“ klicken.

Bereitstellung der Node.js-Anwendung

Erstellen Sie vor der eigentlichen Bereitstellung wie folgt ein ZIP- oder TAR-Archiv mit den zuvor erstellten Dateien:

  • index.js
  • Paket.json

Sobald das Archiv erstellt ist, laden Sie das Paket in Ihre Instanz hoch. Verwenden Sie den Bereitstellungsmanager, indem Sie auf die Schaltfläche „Hochladen“ klicken.

Wählen Sie das zuvor erstellte Archiv aus und schließen Sie den Upload ab.

Wenn Sie fertig sind, verwenden Sie die Schaltfläche „Bereitstellen auf“, wie in der Abbildung gezeigt:

Wählen Sie die für die Anwendung erstellte Umgebung aus und klicken Sie auf die Schaltfläche „Bereitstellen“:

Wenn der Vorgang abgeschlossen ist, greifen Sie auf Ihre Instanz zu, indem Sie auf die Schaltfläche „Im Browser öffnen“ klicken:

Wenn alles richtig funktioniert, antwortet Ihre Instanz mit:

[]

Verwenden Sie dann den Browser, um die ersten drei Bücher zu speichern, indem Sie die folgenden URLs besuchen. Denken Sie daran, die Adresse durch die Ihrer Instanz zu ersetzen:

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

Stellen Sie also sicher, dass die Bücher gespeichert wurden, indem Sie zur Haupt-URL Ihrer Instanz navigieren:

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

Der Server sollte mit folgendem Inhalt antworten:

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

Linux
  1. So erstellen Sie eine Datenbank in MySQL mit MySQL Workbench

  2. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

  3. Wie erstelle ich mit Virsh eine VM von Grund auf neu?

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

  5. So erhalten Sie Systemstatistiken mit node.js

So konfigurieren Sie eine Firewall auf Jelastic Cloud

So installieren Sie Apache Tomcat auf Jelastic Cloud

So installieren Sie Magento auf Jelastic Cloud

So erstellen Sie eine Web-App mit Node.js auf Jelastic Cloud

So erstellen Sie einen E-Commerce mit Magento

So erstellen Sie Webspider mit Scrapy