Confusione sul nodo come "script" contro Nodo come "server"

1

Mentre stavo iniziando a lavorare un po 'con il nodo, mi è stato detto che avevo bisogno di subire un piccolo cambiamento di paradigma da quando ero originario di PHP. Vorrei fare domande del tipo: "Ho il mio script in funzione nel terminale, ora come posso caricarlo sul server e accedere tramite una richiesta AJAX?". Mi è stato detto che "non funziona così" e che "Gli script dei nodi non sono solo magicamente come PHP quando li si carica su un server. Node IS un server ".

Così ho pensato a me stesso, "Okay, mettiamolo sullo scaffale per un po '." Fondamentalmente uso solo il nodo per gli script che eseguo localmente comunque, quindi se devo digitare node server.js nel terminale per usare il mio script, non è stato così scomodo, e mi ha permesso di impararlo felicemente senza dovermi preoccupare del cambio qualsiasi dei miei paradigmi.

Poi, la scorsa settimana ho creato un frontend piccolo che funzionava con alcuni script di nodi che stavo scrivendo e ho capito che avevo bisogno di membri di un'altra squadra per usarlo. Ho immaginato che non avrebbero installato Node o che sarebbero stati abbastanza constrongvoli con una CLI per digitare node server.js . Ho scoperto di Heroku. E ho caricato tutti i miei script, e sai cosa: funziona magicamente! Spostamento paradigma evitato AGAIN .

Mi sento come se avessi continuamente evitato questo cambiamento di paradigma mi faceva male. Quindi ho bisogno di capirlo. In che modo il nodo può essere un server ? Tuttavia, anche i file di nodo possono essere caricati su qualcosa come Heroku (/ Docker? Un altro "contenitore" di cui ho sentito parlare) e funzionano allo stesso modo in cui sono abituato al PHP lato server in esecuzione? Tuttavia, sembra, allo stesso tempo, non: non posso caricarli su un server Apache che non penso e mi aspetto che funzionino. Inoltre, dal momento che ho menzionato Docker, una volta compreso esattamente cosa sia Heroku, Docker è fondamentalmente la stessa cosa?

(Ho sentito che questa domanda è corretta per questo sito SE, ma per favore fatemi sapere se pensate che sarebbe meglio adattarsi su SO o altrove)

    
posta 1252748 13.01.2016 - 16:16
fonte

1 risposta

6

Il nodo è un ambiente di esecuzione javascript. Il nodo può fungere da server (eseguendo uno script che esegue funzioni del server).

Heroku è un sistema operativo (seduto nel cloud) che supporta (tra gli altri) script di nodi. Puoi pensarlo come il tuo desktop seduto su Internet, con un ambiente Node.

Quando si esegue un tipo di script di server in Heroku, non è diverso da quello che si sta eseguendo su uno dei server pubblici dell'azienda.

Una delle cose belle di Heroku rispetto ad Apache è che Heroku è progettato per consentire agli utenti di caricare le applicazioni senza che sia necessario un amministratore per distribuirlo.

    
risposta data 13.01.2016 - 18:10
fonte

Leggi altre domande sui tag