{"id":75600,"date":"2023-12-18T17:28:22","date_gmt":"2023-12-18T16:28:22","guid":{"rendered":"https:\/\/kinsta.com\/it\/?p=75600&#038;preview=true&#038;preview_id=75600"},"modified":"2023-12-19T18:54:27","modified_gmt":"2023-12-19T17:54:27","slug":"creare-applicazione-express","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/","title":{"rendered":"Creare e distribuire un&#8217;applicazione Node.js in 5 minuti con Express"},"content":{"rendered":"<p>Express, il <a href=\"https:\/\/github.com\/VanoDevium\/node-framework-stars\" target=\"_blank\" rel=\"noopener noreferrer\">framework Node.js pi\u00f9 utilizzato<\/a> al mondo, consente agli sviluppatori di creare server web backend con JavaScript. Questo framework fornisce la maggior parte di ci\u00f2 che serve agli sviluppatori di backend, semplificando il routing e la risposta alle richieste web.<\/p>\n<p>Abbiamo gi\u00e0 una guida su <a href=\"https:\/\/kinsta.com\/it\/blog\/cos-e-express-js\/\">tutto ci\u00f2 che c&#8217;\u00e8 da sapere su Express.js<\/a>, quindi questo articolo pratico vi mostrer\u00e0 come usarlo. Questo tutorial spiega come creare e distribuire un esempio di applicazione <a href=\"https:\/\/kinsta.com\/it\/blog\/node-js\/\">Node.js<\/a> utilizzando Express.js.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Come creare app velocemente con Express.js<\/h2>\n<p>Questo tutorial mostra come creare un&#8217;applicazione web che riceve richieste a un endpoint, utilizza un parametro della richiesta per effettuare una chiamata al database e restituisce le informazioni dal database come JSON.<\/p>\n<h3>Prerequisiti<\/h3>\n<p>Per seguire questo tutorial, \u00e8 necessario aver installato sul computer i seguenti elementi:<\/p>\n<ul>\n<li><a href=\"https:\/\/kinsta.com\/it\/blog\/come-installare-node-js\/\">Node.js e Node Package Manager<\/a> (npm) &#8211; Ambiente di runtime essenziale e gestore di pacchetti per JavaScript.<\/li>\n<li><a href=\"https:\/\/kinsta.com\/it\/blog\/installare-git\/\" target=\"_blank\" rel=\"noopener noreferrer\">Git<\/a> &#8211; Sistema di controllo di versione distribuito che facilita lo sviluppo collaborativo del software.<\/li>\n<\/ul>\n<h2>Generatore di applicazioni Express<\/h2>\n<p>\u00c8 possibile aggiungere Express alle applicazioni Node esistenti utilizzando la procedura descritta nella nostra <a href=\"https:\/\/kinsta.com\/it\/blog\/cos-e-express-js\/#how-to-create-an-expressjs-app\">guida Express.js<\/a>, ma se si parte da zero, c&#8217;\u00e8 un&#8217;opzione ancora pi\u00f9 veloce: il <a href=\"https:\/\/expressjs.com\/en\/starter\/generator.html\" target=\"_blank\" rel=\"noopener noreferrer\">generatore di applicazioni Express<\/a>.<\/p>\n<p>Il generatore Express ufficiale di Express.js \u00e8 un pacchetto Node che permette di generare un nuovo &#8220;scheletro&#8221; di applicazione. Per farlo, dovremo prima creare una cartella per l&#8217;applicazione e poi eseguire il comando <code>npx<\/code> (disponibile in Node.js 8.2.0):<\/p>\n<pre><code class=\"language-bash\">mkdir express-application\nnpx express-generator<\/code><\/pre>\n<p>Se la generazione \u00e8 andata a buon fine, il terminale visualizza un elenco di cartelle\/file creati e i comandi per installare le dipendenze ed eseguire l&#8217;applicazione. Installiamo le dipendenze eseguendo il comando:<\/p>\n<pre><code class=\"language-bash\">npm install<\/code><\/pre>\n<p>Successivamente, avviamo il server web:<\/p>\n<pre><code class=\"language-bash\">DEBUG=myapp:* npm start<\/code><\/pre>\n<p>L&#8217;applicazione scheletro ha un percorso indice precostituito che visualizza una pagina iniziale di base. Possiamo visualizzarla nel browser visitando il sito <code>localhost:3000<\/code>.<\/p>\n<h3>Esplorare l&#8217;applicazione scheletro Express<\/h3>\n<p>Quando apriamo l&#8217;applicazione Express nel nostro editor di codice, troveremo una struttura di base che costituisce l&#8217;ossatura dell&#8217;applicazione web.<\/p>\n<pre><code class=\"language-bash\">\/\n|-- \/node_modules\n|-- \/public\n|-- \/routes\n    |-- index.js\n    |-- users.js\n|-- \/views\n    |-- error.jade\n    |-- index.jade\n    |-- layout.jade\n|-- app.js\n|-- package.json<\/code><\/pre>\n<ul>\n<li><strong>node_modules:<\/strong> questa cartella contiene tutte le dipendenze e le librerie installate per il progetto.<\/li>\n<li><strong>public:<\/strong> contiene risorse statiche come CSS, JavaScript, immagini, ecc. Questi file vengono serviti direttamente al browser del cliente.<\/li>\n<li><strong>routes:<\/strong> contiene i file responsabili della definizione dei vari percorsi e della gestione delle richieste provenienti da URL diversi.<\/li>\n<li><strong>views:<\/strong> contiene i modelli o le viste che il server esegue per creare l&#8217;interfaccia utente. In questo caso, <strong>error.jade<\/strong>, <strong>index.jade<\/strong> e <strong>layout.jade<\/strong> sono modelli scritti nel linguaggio di template Jade. Aiutano a strutturare e a rendere il contenuto dinamico agli utenti.<\/li>\n<li><strong>app.js:<\/strong> questo file serve in genere come punto di ingresso per l&#8217;applicazione Express. \u00c8 il luogo in cui viene configurato il server, impostato il middleware, definite le route e gestite le richieste e le risposte.<\/li>\n<li><strong>package.json:<\/strong> questo file contiene i metadati dell&#8217;applicazione. Aiuta a gestire le dipendenze e la configurazione del progetto.<\/li>\n<\/ul>\n<h3>Capire la gestione delle route<\/h3>\n<p>Nella tua applicazione Express, la directory <strong>routes<\/strong> \u00e8 il luogo in cui le route sono definite come file separati. La rotta principale, spesso chiamata rotta indice, risiede nel file <strong>routes\/index.js<\/strong>.<\/p>\n<p>Questa rotta gestisce una richiesta a <code>GET<\/code> e risponde con una pagina web generata in HTML dal framework. Di seguito \u00e8 riportato un frammento di codice che illustra come viene gestita una richiesta <code>GET<\/code> per rendere una pagina di benvenuto di base:<\/p>\n<pre><code class=\"language-javascript\">var express = require('express');\nvar router = express.Router();\n\n\/* GET home page. *\/\nrouter.get('\/', function(req, res, next) {\n res.render('index', { title: 'Express' });\n});\n\nmodule.exports = router;<\/code><\/pre>\n<p>Se modifichiamo la funzione <code><a href=\"https:\/\/expressjs.com\/en\/api.html#res.render\" target=\"_blank\" rel=\"noopener noreferrer\">res.render()<\/a><\/code> in <code><a href=\"https:\/\/expressjs.com\/en\/api.html#res.send\" target=\"_blank\" rel=\"noopener noreferrer\">res.send()<\/a><\/code>il tipo di risposta passa da HTML a JSON:<\/p>\n<pre><code class=\"language-javascript\">var express = require('express');\nvar router = express.Router();\n\nrouter.get('\/', function(req, res, next) {\n  res.send({ key: 'value' });\n});\n\nmodule.exports = router;<\/code><\/pre>\n<p>Per ampliare le funzionalit\u00e0, viene aggiunta un&#8217;altra rotta allo stesso file, introducendo un nuovo endpoint che accetta un parametro. Questo frammento di codice dimostra come l&#8217;applicazione possa gestire il traffico su un altro endpoint, estrarre un parametro e rispondere con il suo valore in JSON:<\/p>\n<pre><code class=\"language-javascript\">\/* GET a new resource *\/\nrouter.get('\/newEndpoint', function(req, res, next) {\n  res.send({ yourParam: req.query.someParam });\n});<\/code><\/pre>\n<p>L&#8217;invio di una richiesta <code>GET<\/code> a <code>localhost:3000\/newEndpoint?someParam=whatever<\/code> produrr\u00e0 un output JSON contenente la stringa &#8220;whatever&#8221;.<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-105526 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/sending-get-request-postman.png\" alt=\"Viene effettuata una richiesta GET all'applicazione in esecuzione localmente in Postman\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Viene effettuata una richiesta GET all&#8217;applicazione in esecuzione localmente in Postman.<\/figcaption><\/figure>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>\u00c8 essenziale riavviare il server web per implementare efficacemente le nuove modifiche.<\/p>\n<\/aside>\n\n<h2>Hosting di Applicazioni Express e Kinsta<\/h2>\n<p>Fare richieste web dal proprio computer al proprio computer va benissimo, ma lo sviluppo web non pu\u00f2 considerarsi completo finch\u00e9 non si \u00e8 fuori dall&#8217;host locale. Fortunatamente, Kinsta rende semplice la distribuzione di applicazioni sul web, anche se si ha bisogno di un database.<\/p>\n<p>Ora vediamo come espandere le capacit\u00e0 dell&#8217;applicazione integrando le funzionalit\u00e0 del database e distribuendo sia l&#8217;applicazione che il database sul web, consentendo l&#8217;accesso da qualsiasi computer.<\/p>\n<p>Prima di distribuire l&#8217;applicazione Express sull&#8217;<a href=\"https:\/\/sevalla.com\/application-hosting\/\">Hosting di Applicazioni di Kinsta<\/a>, \u00e8 fondamentale <a href=\"https:\/\/kinsta.com\/it\/blog\/come-inviare-codice-github\/\">inviare il codice e i file dell&#8217;applicazione<\/a> al provider Git scelto (<a href=\"https:\/\/docs.sevalla.com\/applications\/git\/bitbucket#grant-access-to-the-kinsta-bitbucket-application\">Bitbucket<\/a>, <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/github#authenticate-and-authorize\">GitHub<\/a> o <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/gitlab#authorize-the-kinsta-gitlab-application\">GitLab<\/a>). Assicuriamoci di creare un file <strong>.gitignore<\/strong> nella directory principale dell&#8217;applicazione e includiamo <code>node_modules<\/code> per evitare di eseguire il push questi file al provider Git.<\/p>\n<p>Una volta impostato il repository, seguiamo i passaggi qui per distribuire l&#8217;applicazione Express su Kinsta:<\/p>\n<ol start=\"1\">\n<li>Accediamo o creiamo un account per visualizzare la dashboard <a href=\"https:\/\/my.kinsta.com\/?lang=it\" target=\"_blank\" rel=\"noopener noreferrer\">MyKinsta<\/a>.<\/li>\n<li>Autorizziamo Kinsta con il provider Git.<\/li>\n<li>Clicchiamo su <strong>Applicazioni<\/strong> nella barra laterale di sinistra, quindi su <strong>Aggiungi applicazione<\/strong>.<\/li>\n<li>Selezioniamo il repository e il branch da cui desideriamo effettuare il deploy.<\/li>\n<li>Assegniamo un nome unico all&#8217;applicazione e scegliamo la <strong>posizione<\/strong> del <strong>Data Center<\/strong>.<\/li>\n<li>Configuriamo poi l&#8217;ambiente di build. Selezioniamo la configurazione della <strong>build machine standard<\/strong> con l&#8217;opzione <a href=\"https:\/\/docs.sevalla.com\/applications\/build-options\/nixpacks\">Nixpacks<\/a> consigliata per questa demo.<\/li>\n<li>Usiamo tutte le configurazioni predefinite e poi clicchiamo su <strong>Crea applicazione<\/strong>.<\/li>\n<\/ol>\n<p>Kinsta funziona subito con il generatore di applicazioni Express! Una volta completati questi passaggi, l&#8217;applicazione inizier\u00e0 automaticamente il processo di build e distribuzione.<\/p>\n<p>La schermata di distribuzione fornir\u00e0 un URL dove Kinsta distribuir\u00e0 l&#8217;applicazione. Possiamo aggiungere <code>\/newEndpoint?someParam=whatever<\/code> per testare l&#8217;endpoint creato nella sezione precedente di questo articolo.<\/p>\n<h2>Come aggiungere un database all&#8217;applicazione Express<\/h2>\n<p>Per la maggior parte delle applicazioni di produzione, la presenza di un database \u00e8 essenziale. Fortunatamente, Kinsta semplifica questo processo fornendo <a href=\"https:\/\/sevalla.com\/database-hosting\/\">servizi di database completamente gestiti<\/a> e incredibilmente facili da configurare.<\/p>\n<p>Ecco come creare un database su Kinsta:<\/p>\n<ol start=\"1\">\n<li>Andiamo alla sezione <strong>Database<\/strong> nella barra laterale del cruscotto di MyKinsta.<\/li>\n<li>Clicchiamo su <strong>Crea un database<\/strong>. Configuriamo i dettagli del database inserendo un nome e selezionando il tipo di database.<\/li>\n<li>Selezioniamo l&#8217;opzione <strong>PostgreSQL<\/strong>. Il <strong>nome utente<\/strong> e la <strong>password<\/strong> del <strong>database<\/strong> vengono generati automaticamente:\n<p><figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-105526 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/creating-db-mykinsta.png\" alt=\"La fase di configurazione del database MyKinsta per l'aggiunta di un nuovo database\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">La fase di configurazione del database MyKinsta prevede l&#8217;aggiunta di un nuovo database.<\/figcaption><\/figure><\/li>\n<li>Selezioniamo la stessa <strong>posizione del data center<\/strong> in cui abbia ospitato la applicazione Express e configura la dimensione desiderata.<\/li>\n<li>Confermiamo le informazioni di pagamento e clicchiamo su <strong>Crea database<\/strong>.<\/li>\n<\/ol>\n<p>Una volta che il database \u00e8 stato creato con successo:<\/p>\n<ol start=\"1\">\n<li>Accediamo ai dettagli del database cliccando su di esso. Nella pagina <strong>Panoramica<\/strong>, andiamo alla sezione <strong>Connessioni interne<\/strong>.<\/li>\n<li>Selezioniamo l&#8217;applicazione appropriata.<\/li>\n<li>Selezioniamo l&#8217;opzione <strong>Aggiungi variabili d&#8217;ambiente all&#8217;applicazione<\/strong>.<\/li>\n<li>Clicchiamo su <strong>Aggiungi connessione<\/strong> per collegare il database appena creato alla tua applicazione.<\/li>\n<\/ol>\n<p>Successivamente, copiamo la stringa di connessione del database appena creato per collegarlo con uno strumento di database. Qualsiasi strumento di connessione SQL sar\u00e0 sufficiente, ma in questa dimostrazione utilizziamo <a href=\"https:\/\/www.beekeeperstudio.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">Beekeeper<\/a>. Apriamo l&#8217;applicazione e clicchiamo su Importa da URL, incolliamo la stringa di connessione e clicchiamo su Importa. In questo modo potremo eseguire l&#8217;SQL sul database ospitato da Kinsta che abbiamo appena creato.<\/p>\n<p>Quindi, creiamo una tabella elementare con una singola voce eseguendo alcune istruzioni SQL sul database ospitato con il nostro strumento di database:<\/p>\n<pre><code class=\"language-sql\">CREATE TABLE \"States\"\n( id integer CONSTRAINT states_pk PRIMARY KEY,\n  state_name varchar(100),\n  capital varchar(100),\n  state_bird varchar(100),\n  \"createdAt\" TIMESTAMPTZ NOT NULL DEFAULT NOW(),\n  \"updatedAt\" TIMESTAMPTZ NOT NULL DEFAULT NOW()\n);\n\nINSERT INTO \"States\"\nVALUES(1, 'ohio', 'columbus', 'cardinal');<\/code><\/pre>\n<p>Aggiungiamo i seguenti pacchetti di database al progetto:<\/p>\n<pre><code class=\"language-bash\">npm install sequelize pg<\/code><\/pre>\n<p>La dipendenza <code><a href=\"https:\/\/www.npmjs.com\/package\/sequelize\" target=\"_blank\" rel=\"noopener noreferrer\">sequelize<\/a><\/code> \u00e8 una dipendenza ORM per Node.js e <code><a href=\"https:\/\/www.npmjs.com\/package\/pg\" target=\"_blank\" rel=\"noopener noreferrer\">pg<\/a><\/code> serve come client PostgreSQL, consentendo l&#8217;interazione tra le applicazioni Node.js e i database PostgreSQL.<\/p>\n<p>Quindi, scriviamo il codice dell&#8217;applicazione che accetta una richiesta <code>GET<\/code> con un parametro <code>id<\/code> e restituisce le informazioni contenute nel database associato a quel <code>id<\/code>. Per farlo, modifica il file <strong>index.js<\/strong> di conseguenza:<\/p>\n<pre><code class=\"language-javascript\">var express = require('express');\nvar router = express.Router();\nconst { Sequelize, DataTypes } = require('sequelize');\nconst sequelize = new Sequelize(process.env.CONNECTION_URI, {\n  dialect: 'postgres',\n  protocol: 'postgres',\n});\n\nconst State = sequelize.define('State', {\n  \/\/ Model attributes are defined here\n  state_name: {\n  type: DataTypes.STRING,\n  allowNull: true,\n  unique: false\n  },\n  capital: {\n  type: DataTypes.STRING,\n  allowNull: true,\n  unique: false\n  },\n  state_bird: {\n  type: DataTypes.STRING,\n  allowNull: true,\n  unique: false\n  },\n}, {\n  \/\/ Other model options go here\n});\n\nasync function connectToDB() {\n  try {\n  sequelize.authenticate().then(async () =&gt; {\n  \/\/ await State.sync({ alter: true });\n  })\n  console.log('Connection has been established successfully.');\n  } catch (error) {\n  console.error('Unable to connect to the database:', error);\n  }\n}\nconnectToDB();\n\n\/* GET a new resource *\/\nrouter.get('\/state', async function(req, res, next) {\n  const state = await State.findByPk(req.query.id);\n  if (state) {\n   res.send(state)\n  } else {\n   res.status(404).send(\"state not found\");\n  }\n});\n\n\n\/* GET home page. *\/\nrouter.get('\/', function(req, res, next) {\n  res.render('index', { title: 'Express' });\n});\n\n\/* GET a new resource *\/\nrouter.get('\/newEndpoint', function(req, res, next) {\n  res.send({ yourParam: req.query.someParam });\n});\n\nmodule.exports = router;<\/code><\/pre>\n<p>Effettuiamo il commit delle modifiche al codice e inviamole al repository Git. Quindi, procediamo al deploy manuale su Kinsta o attendiamo il deploy automatico.<\/p>\n<p>Ora, quando interrogheremo l&#8217;endpoint <code>\/states<\/code> con <code>id=1<\/code>, riceveremo uno stato dal database.<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-105526 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/testing-complete-app.png\" alt=\"Una richiesta GET all'applicazione completamente funzionante ospitata in MyKinsta\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Una richiesta GET all&#8217;applicazione completamente funzionante ospitata su MyKinsta.<\/figcaption><\/figure>\n<p>Questo \u00e8 tutto! Potete consultare il <a href=\"https:\/\/github.com\/olawanlejoel\/express-skeleton-app\" target=\"_blank\" rel=\"noopener noreferrer\">codice completo del progetto su GitHub<\/a>.<\/p>\n<h2>Riepilogo<\/h2>\n<p>Questo articolo ha dimostrato come il framework Express permetta di creare e distribuire un&#8217;applicazione Node.js in modo semplice e veloce. Si pu\u00f2 creare una nuova applicazione con il generatore Express in pochi semplici passi. Con l&#8217;<a href=\"https:\/\/sevalla.com\/application-hosting\/\">Hosting di Applicazioni<\/a>, la distribuzione dell&#8217;applicazione \u00e8 semplice e richiede una configurazione minima.<\/p>\n<p>La potenza e la facilit\u00e0 di utilizzo del framework Express per lo sviluppo di applicazioni Node.js sono notevoli. Con Kinsta, potete portare lo slancio che Express e Node.js vi danno nella fase di distribuzione del progetto senza perdere tempo con la configurazione.<\/p>\n<p><em>Cosa ne pensate del generatore di applicazioni Express? L&#8217;avete gi\u00e0 utilizzato per sviluppare applicazioni? Non esitate a condividere le vostre esperienze nei commenti qui sotto!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Express, il framework Node.js pi\u00f9 utilizzato al mondo, consente agli sviluppatori di creare server web backend con JavaScript. Questo framework fornisce la maggior parte di ci\u00f2 &#8230;<\/p>\n","protected":false},"author":199,"featured_media":75601,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[26203,26213,25847],"class_list":["post-75600","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-node-js","topic-postgresql","topic-tutorial-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Creare e distribuire un&#039;applicazione Node.js in 5 minuti con Express - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Scopri il rapido processo di creazione e lancio di un&#039;applicazione Node.js utilizzando Express in soli 5 minuti! Iniziate subito il tuo viaggio con Node.js.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Creare e distribuire un&#039;applicazione Node.js in 5 minuti con Express\" \/>\n<meta property=\"og:description\" content=\"Scopri il rapido processo di creazione e lancio di un&#039;applicazione Node.js utilizzando Express in soli 5 minuti! Iniziate subito il tuo viaggio con Node.js.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstaitalia\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-18T16:28:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-19T17:54:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/create-express-app.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"3042\" \/>\n\t<meta property=\"og:image:height\" content=\"1521\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeremy Holcombe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Scopri il rapido processo di creazione e lancio di un&#039;applicazione Node.js utilizzando Express in soli 5 minuti! Iniziate subito il tuo viaggio con Node.js.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/create-express-app.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Holcombe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"Creare e distribuire un&#8217;applicazione Node.js in 5 minuti con Express\",\"datePublished\":\"2023-12-18T16:28:22+00:00\",\"dateModified\":\"2023-12-19T17:54:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/\"},\"wordCount\":1487,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/create-express-app.jpg\",\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/\",\"name\":\"Creare e distribuire un'applicazione Node.js in 5 minuti con Express - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/create-express-app.jpg\",\"datePublished\":\"2023-12-18T16:28:22+00:00\",\"dateModified\":\"2023-12-19T17:54:27+00:00\",\"description\":\"Scopri il rapido processo di creazione e lancio di un'applicazione Node.js utilizzando Express in soli 5 minuti! Iniziate subito il tuo viaggio con Node.js.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/create-express-app.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/create-express-app.jpg\",\"width\":3042,\"height\":1521},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Node.js\",\"item\":\"https:\/\/kinsta.com\/it\/argomenti\/node-js\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Creare e distribuire un&#8217;applicazione Node.js in 5 minuti con Express\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/it\/#website\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluzioni di hosting premium, veloci e sicure\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/it\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstaitalia\/\",\"https:\/\/x.com\/Kinsta_IT\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\",\"name\":\"Jeremy Holcombe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"caption\":\"Jeremy Holcombe\"},\"description\":\"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jeremyholcombe\/\"],\"url\":\"https:\/\/kinsta.com\/it\/blog\/author\/jeremyholcombe\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Creare e distribuire un'applicazione Node.js in 5 minuti con Express - Kinsta\u00ae","description":"Scopri il rapido processo di creazione e lancio di un'applicazione Node.js utilizzando Express in soli 5 minuti! Iniziate subito il tuo viaggio con Node.js.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/","og_locale":"it_IT","og_type":"article","og_title":"Creare e distribuire un'applicazione Node.js in 5 minuti con Express","og_description":"Scopri il rapido processo di creazione e lancio di un'applicazione Node.js utilizzando Express in soli 5 minuti! Iniziate subito il tuo viaggio con Node.js.","og_url":"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2023-12-18T16:28:22+00:00","article_modified_time":"2023-12-19T17:54:27+00:00","og_image":[{"width":3042,"height":1521,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/create-express-app.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"Scopri il rapido processo di creazione e lancio di un'applicazione Node.js utilizzando Express in soli 5 minuti! Iniziate subito il tuo viaggio con Node.js.","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/create-express-app.jpg","twitter_creator":"@Kinsta_IT","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Jeremy Holcombe","Tempo di lettura stimato":"9 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"Creare e distribuire un&#8217;applicazione Node.js in 5 minuti con Express","datePublished":"2023-12-18T16:28:22+00:00","dateModified":"2023-12-19T17:54:27+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/"},"wordCount":1487,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/create-express-app.jpg","inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/","url":"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/","name":"Creare e distribuire un'applicazione Node.js in 5 minuti con Express - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/create-express-app.jpg","datePublished":"2023-12-18T16:28:22+00:00","dateModified":"2023-12-19T17:54:27+00:00","description":"Scopri il rapido processo di creazione e lancio di un'applicazione Node.js utilizzando Express in soli 5 minuti! Iniziate subito il tuo viaggio con Node.js.","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/create-express-app.jpg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/create-express-app.jpg","width":3042,"height":1521},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/creare-applicazione-express\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/it\/"},{"@type":"ListItem","position":2,"name":"Node.js","item":"https:\/\/kinsta.com\/it\/argomenti\/node-js\/"},{"@type":"ListItem","position":3,"name":"Creare e distribuire un&#8217;applicazione Node.js in 5 minuti con Express"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/it\/#website","url":"https:\/\/kinsta.com\/it\/","name":"Kinsta\u00ae","description":"Soluzioni di hosting premium, veloci e sicure","publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/it\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstaitalia\/","https:\/\/x.com\/Kinsta_IT","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21","name":"Jeremy Holcombe","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","caption":"Jeremy Holcombe"},"description":"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.","sameAs":["https:\/\/www.linkedin.com\/in\/jeremyholcombe\/"],"url":"https:\/\/kinsta.com\/it\/blog\/author\/jeremyholcombe\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/75600","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/comments?post=75600"}],"version-history":[{"count":6,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/75600\/revisions"}],"predecessor-version":[{"id":75625,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/75600\/revisions\/75625"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75600\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75600\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75600\/translations\/pt"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75600\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75600\/translations\/jp"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75600\/translations\/es"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75600\/translations\/fr"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75600\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/75601"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=75600"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=75600"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=75600"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}