Introduzione
Per sviluppare e ospitare un'applicazione Angular su Square Cloud, è essenziale seguire una sequenza strutturata di configurazioni e prerequisiti. Questa guida tecnica coprirà l’intero processo, dalla configurazione iniziale al deploy in produzione.Prerequisiti
- Account Square Cloud: Registrati tramite la pagina di registrazione usando la tua email.
- Piano attivo: Garantisce risorse dedicate e prestazioni ottimizzate per la tua applicazione. Consulta i nostri piani disponibili e scegli quello più adatto alle tue esigenze.
Creare il progetto
Ti servono Node.js e npm sul tuo computer. Se non li hai, scaricali dal sito ufficiale di Node.js. Installa la CLI di Angular e crea un progetto:ng new installa le dipendenze per te.
Avvia il server di sviluppo con ng serve (ascolta su http://localhost:4200) e modifica src/app/app.html per cambiare la home page.
Build per la produzione
ng build usa la configurazione di produzione per impostazione predefinita. Scrive il sito in dist/my-angular-app/browser. Se il tuo progetto ha un altro nome, sostituisci my-angular-app nei percorsi qui sotto.
Scegliere come servirlo
Senza SSR, una build di Angular è un sito statico: file HTML, CSS e JavaScript che qualsiasi web server può distribuire. Scegli una di queste opzioni:- Runtime statico (consigliato)
- Server Express
- Pacchetto serve
Il runtime statico serve i file della tua build con un web server gestito da Square Cloud. Non gira nessun processo Node.js, quindi è il modo più leggero per ospitare un sito senza codice lato server.
1
Esegui la build del sito
Esegui
npm run build. L’output finisce nella cartella dist/my-angular-app/browser.2
Mantieni funzionanti le route lato client
Se la tua app cambia pagina nel browser senza ricaricare (routing lato client), rinomina
dist/my-angular-app/browser/index.html in vite.html. Il runtime statico risponde con vite.html a ogni percorso che non corrisponde a un file, quindi ricaricare una route come /about carica comunque la tua app. Un sito con un file HTML per pagina mantiene index.html: i percorsi sconosciuti restituiscono allora il tuo 404.html. Consulta come il runtime statico serve i file.3
Aggiungi il file di configurazione
Crea un file Usa
squarecloud.app dentro dist/my-angular-app/browser. Un MAIN che punta a un file HTML seleziona il runtime statico:squarecloud.app
MAIN=index.html se hai mantenuto index.html. 512 MB è la memoria minima per un sito web. Quando carichi dalla dashboard, ti vengono chiesti questi valori e il file viene scritto per te.4
Comprimi l'output della build
Comprimi il contenuto di
dist/my-angular-app/browser, non la cartella stessa, in modo che squarecloud.app si trovi nella radice dello ZIP. Con la CLI, esegui squarecloud upload dall’interno di dist/my-angular-app/browser.Rendering lato server (SSR)
Un progetto creato con l’SSR (o conng add @angular/ssr) genera anche un server Node.js in dist/my-angular-app/server. Quel server legge la variabile d’ambiente PORT, che Square Cloud imposta a 80, e ascolta su tutte le interfacce di rete, quindi non devi modificarlo. Avvialo con START nel tuo squarecloud.app:
squarecloud.app
400 Bad Request. Aggiungi il tuo indirizzo alla variabile d’ambiente NG_ALLOWED_HOSTS, per esempio my-angular-app.squareweb.app (separa più host con una virgola), oppure elencalo in security.allowedHosts dentro angular.json prima della build.
Esegui ng build prima di creare il tuo ZIP. Lo ZIP deve contenere package.json, squarecloud.app e la cartella dist/, senza node_modules: Square Cloud installa le dependencies del tuo package.json, che includono già express e @angular/ssr.
Deploy e verifica
Crea lo ZIP descritto nell’opzione che hai scelto, poi caricalo:Tramite dashboard
1
Accedi alla pagina di upload
Accedi alla pagina di upload e carica il file zip del tuo progetto.
2
Configura il tuo ambiente
Dopo aver caricato il tuo zip, dovrai configurare il nome, il file principale o il runtime environment e altre impostazioni per il tuo progetto.
Se stai caricando un progetto web, assicurati di selezionare “Web Publication” e di impostare un sottodominio per il tuo progetto.
Se stai caricando un progetto web, assicurati di selezionare “Web Publication” e di impostare un sottodominio per il tuo progetto.
3
Esegui il deploy del tuo progetto
Infine, clicca sul pulsante “Deploy” per ospitare il tuo progetto su Square Cloud.
Dopo il deploy, puoi monitorare lo stato e i log del tuo progetto dalla dashboard.
Dopo il deploy, puoi monitorare lo stato e i log del tuo progetto dalla dashboard.

4
Conferma che la tua app sia online
Il primo deploy richiede di solito meno di un minuto. Nella dashboard, attendi che lo stato della tua applicazione mostri “in esecuzione” e controlla i log per eventuali errori di avvio.
Se hai fatto il deploy di un sito web o di un’API, apri
Se hai fatto il deploy di un sito web o di un’API, apri
https://<tuo-sottodominio>.squareweb.app nel tuo browser: dovresti vedere la tua applicazione rispondere. Se hai fatto il deploy di un bot, invia un comando per confermare che sia online.
Tramite CLI
Per utilizzare questo metodo, il tuo progetto deve avere un file di configurazione chiamatosquarecloud.app nella sua radice. Indica a Square Cloud come eseguire la tua applicazione.
Guida al file di configurazione
Scopri come creare il file di configurazione
squarecloud.app che definisce l’ambiente della tua applicazione.1
Installa la CLI
Installa la CLI di Square Cloud. Se ce l’hai già, esegui lo stesso comando per aggiornarla:
2
Accedi
Esegui il comando qui sotto. Apre il tuo browser: approva l’accesso lì e la CLI è pronta. Non c’è nessuna chiave API da copiare. Per script e CI, consulta Autenticazione della CLI.
3
Carica il tuo progetto
Dalla cartella del tuo progetto, esegui il comando qui sotto. La CLI comprime la cartella corrente, escludendo ciò che elenca Per caricare uno zip che hai creato tu, passalo con
squarecloud.ignore, e la carica:--file:4
Conferma che la tua app sia online
Il primo deploy richiede di solito meno di un minuto. Controlla lo stato e i log della tua applicazione direttamente dal terminale:Se hai fatto il deploy di un sito web o di un’API, apri
https://<tuo-sottodominio>.squareweb.app nel tuo browser: dovresti vedere la tua applicazione rispondere. Se hai fatto il deploy di un bot, invia un comando per confermare che sia online.
Errori comuni
Dominio personalizzato
Per utilizzare un dominio personalizzato (ad esempio,
mysite.com) invece dell’URL predefinito mysite.squareweb.app, hai bisogno del piano Standard o superiore. L’URL predefinito deriva dal campo SUBDOMAIN nel file di configurazione. Per collegare il tuo dominio, segui come configurare il tuo dominio.Requisiti minimi di RAM
Minimo: 512MB di RAM per siti web e API, sufficienti per una build statica sul runtime statico. Per le app che generano le pagine su un server (Next.js, Nuxt, Angular SSR e simili), consigliamo almeno 1GB di RAM. Per applicazioni più grandi, alloca più RAM per evitare che l’applicazione esaurisca la memoria e si arresti in modo anomalo.
Impossibile trovare questo sito.
Verifica che il sottodominio/dominio corrisponda a quanto configurato nel campo SUBDOMAIN o nelle impostazioni del dominio personalizzato. Se hai appena caricato il sito, attendi fino a 60 secondi affinché Square abiliti il primo accesso.
Il sito ha impiegato troppo tempo per rispondere…
Il tuo server deve ascoltare sulla porta 80 e sull’host 0.0.0.0. Square Cloud imposta le variabili d’ambiente PORT (
80) e HOST (0.0.0.0) nella tua applicazione: leggile nel codice invece di scrivere altri valori fissi. Un server che ascolta solo su localhost o 127.0.0.1 non riceve mai richieste.Ricaricare una route restituisce 404
La tua app usa il router di Angular e il server non conosce la route. Sul runtime statico, rinominaindex.html in vite.html. Le opzioni Express e serve qui sopra restituiscono già index.html per i percorsi sconosciuti.
Il server SSR risponde 400 Bad Request
Il nome host della richiesta non è nell’elenco consentito. ImpostaNG_ALLOWED_HOSTS sul tuo sottodominio o dominio personalizzato, poi riavvia l’applicazione.
Prossimi passi
Variabili d'ambiente
Tieni segreti e impostazioni fuori dal codice e leggili in fase di esecuzione.
Dominio personalizzato
Pubblica la tua app sul tuo dominio, dal piano Standard in su.
Risoluzione dei problemi
Sistema un’app che non si avvia o un sito che non risponde.

