Attualmente sto bagnando i piedi con Express. Per iniziare, ho usato express-generator
per impalcare una semplice app.
Durante l'esame del progetto, ho notato che il npm start
il comando è mappato su un binario (bin/www
). Dopo un'ulteriore ispezione ho notato che questo file contiene effettivamente il codice da eseguire nel nodo, da cui il file #!/usr/bin/env node
pragma. Per chiunque abbia una comprensione più profonda di Express / Node, la risposta potrebbe essere ovvia, ma comunque mi chiedo: perché non hanno semplicemente usato un .js
file per avviare il framework. Quel file potrebbe quindi essere eseguito utilizzando node www.js
, Immagino.
risposte:
0 per risposta № 1Ci sono probabilmente alcuni motivi per cui lo script è stato reso un eseguibile
- Gli script npm possono essere mappati per eseguire file JS locali nel progetto o eseguibili sul sistema.
- Mappando
npm start
abin/www
è in effetti lo stesso della corsa./bin/www
sulla riga di comando con l'importante distinzione che eseguendolo tramite anpm start
, funzionerà anche su più piattaforme (ad esempio su sistemi che ignorano l'istruzione hashbang, come Windows), altrimenti dovresti eseguirlo comenode bin/www
su quei sistemi. - C'è un binario pronto da aggiungere agli script di avvio.