Desidero utilizzare http-server e forever.js per distribuire la mia app sul server ubuntu remoto. Ma per sempre .js richiede un percorso per il file JS, non per l'eseguibile. Quindi non posso passare le chiavi a http-server. La soluzione migliore finora è installare http-server localmente via npm ed eseguire qualcosa come questo: forever start ./node_modules/http-server/bin/http-server
. Ma in questo caso non posso impostare la porta e altre opzioni. Qual è la migliore pratica?Distribuire l'app nodo con http-server e per sempre
risposta
Ho avuto lo stesso problema. Trovato un node.js script che può eseguire comandi di shell e usarlo per eseguire il comando http-server insieme alle opzioni.
esempio di node.js script chiamato 'startserver.js':
var sys = require('sys')
var exec = require('child_process').exec;
function puts(error, stdout, stderr) { sys.puts(stdout) }
exec("sudo http-server -a ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com -p 80", puts);
Quindi è possibile eseguire utilizzando sempre:
forever start startserver.js
è possibile impostare le opzioni utilizzando tale codice. Basta usare il available flags dopo la fine del tuo comando. Per esempio:
forever start ./node_modules/http-server/bin/http-server -p 80 -d false
Questo ha funzionato con me
primo percorso get di http server come questo
which http-server
ad esempio otterrete "/ usr/bin/http-server"
quindi dopo scrivere il per sempre seguito dal percorso http-server e il percorso dell'app
forever start /usr/bin/http-server /your/app/path
Cordiali saluti.
Passare alla directory che contiene i file E dal tipo di riga di comando: per sempre start -c http-server. -p your_port_number Esempio: sempre Iniziamo -c http server -p 8000
In questo modo, la porta 8000 sarà per sempre puntare ai file html nella directory.
Prova questo:
forever start $(which http-server)
Questo non fornisce una risposta alla domanda. Una volta che hai [reputazione] sufficiente (https://stackoverflow.com/help/whats-reputation) sarai in grado di [commentare qualsiasi post] (https://stackoverflow.com/help/privileges/comment); invece [fornisci risposte che non richiedono chiarimenti da parte del richiedente] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-, invece). - [Dalla recensione] (/ recensione/post di bassa qualità/17850413) – Styx