GNU/Linux >> Znalost Linux >  >> Linux

Jak vytvořit webovou aplikaci s Node.js na Jelastic Cloud

V následujícím tutoriálu se dozvíte, jak vytvořit jednoduchou webovou aplikaci v Node.js a jak ji publikovat online pomocí Jelastic Cloud.

Ukázková aplikace použitá v této příručce bude odpovídat na volání REST, což klientovi umožní uložit a přečíst archiv knih.

Express bude použit jako framework pro správu webových požadavků a knihovna SQLite pro ukládání informací.

Vytvoření serverové aplikace

Chcete-li vytvořit aplikaci kompatibilní se standardy poskytovanými Node.js, nejprve inicializujte základní konfiguraci npm. Vytvořte složku pro projekt, zde nazvanou 'knihy'.

Poté spusťte následující příkaz konzoly v nově vytvořené složce:

 npm init

Průvodce začne vytvářet soubor package.json se všemi základními informacemi o projektu a jeho závislostech.

Použijte navrhované hodnoty k posunu vpřed, jak je znázorněno níže:

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

Pro dokončení postupu odpovězte „Ano“.

Poté pokračujte instalací dvou hlavních modulů:

npm install --save express sqlite3
  • express:rámec, který zpracovává příchozí požadavky HTTP;
  • sqlite3:klientský modul pro správu malých databází, kam ukládat knihy.

Přidáním parametru --save je npm požádáno o aktualizaci souboru package.json a přidání těchto dvou závislostí do projektu.

Poté vytvořte vstupní bod pro aplikaci vytvořením souboru index.js ve stejném adresáři jako package.json.

Pomocí svého oblíbeného textového editoru vložte následující obsah do nově vytvořeného souboru:

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

Vytvoření nového prostředí Jelastic

Vstupte do panelu správy Jelastic Cloud a poté stiskněte tlačítko „NOVÉ PROSTŘEDÍ“ umístěné vlevo nahoře.

Otevře se záložka konfigurace nového prostředí.

Vyberte „Node.js“ z výše uvedených karet a připravte své prostředí, jak je uvedeno výše.

Dokončete instalaci kliknutím na tlačítko ‚Vytvořit‘.

Nasazení aplikace Node.js

Před provedením skutečného nasazení vytvořte archiv zip nebo tar s dříve vytvořenými soubory následovně:

  • index.js
  • package.json

Po vytvoření archivu nahrajte balíček v rámci své instance. Použijte Deployment Manager kliknutím na tlačítko ‚Nahrát‘.

Vyberte archiv vytvořený dříve a dokončete nahrávání.

Po dokončení použijte tlačítko "Deploy to", jak je znázorněno na obrázku:

Vyberte prostředí vytvořené pro aplikaci a klikněte na tlačítko ‚Deploy‘:

Po dokončení procedury otevřete svou instanci kliknutím na tlačítko "Otevřít v prohlížeči":

Pokud vše funguje správně, vaše instance odpoví:

[]

Poté pomocí prohlížeče uložte první 3 knihy na následujících adresách URL. Nezapomeňte nahradit adresu adresou vaší instance:

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

Přejděte na hlavní adresu URL vaší instance a ujistěte se, že byly knihy uloženy:

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

Server by měl odpovědět následujícím obsahem:

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

Linux
  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Konflikty Node.js:/sbin/node vs /usr/bin/node?

  3. Jak získat systémové statistiky pomocí node.js

  1. Jak vytvořit databázi v MySQL pomocí MySQL Workbench

  2. Jak vytvořit Vm od nuly s Virsh?

  3. Jak nastavit ssh bez hesla pomocí klíčů RSA

  1. Jak vytvářet dokumenty LaTeX s Emacsem

  2. Jak vytvořit virtuální síť v Azure Cloud

  3. Jak vytvořit Load Balancer v Azure Cloud