Dipendenze di elenco nel pacchetto.json per un'app node.js su Heroku

0

In precedenza avevo un problema con la mia app node.js su Heroku. Ho aggiunto la dipendenza nel mio package.json e ora funziona. Ma questo è il modo migliore per farlo?

{
  "name": "application-name",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node app.js"
  },
  "dependencies": {
    "express": "3.4.4",
    "jade": "*",
    "stylus": "*",
    "ejs": "0.8.5"
  },
  "engines": {
    "node": "0.10.1",
    "npm": "1.3.14"
  }
}

Chiedo perché le altre dipendenze hanno un "*" che erano presenti di default nella mia app express. Cosa significa esattamente e sto bene lasciando questo file così com'è?

    
posta JGallardo 06.01.2014 - 19:00
fonte

1 risposta

1

Il * significa che qualsiasi versione va bene. Quando si esegue npm install (cosa fa Heroku quando si spinge la soluzione), npm sta per ottenere la ultima versione del modulo appropriato.

Di solito è non quello che vuoi perché una nuova versione del modulo può violare il tuo codice base esistente. È molto meglio se inserisci numeri di versione fissi nel tuo file package.json .

Questo non risolve necessariamente tutti i potenziali problemi (perché non puoi controllare da solo ciò che richiede il modulo richiesto), ma aiuta molto. Per davvero risolvere questo problema è necessario pensare a come pacchettizzare la tua applicazione, compresi i moduli da cui si dipende. Se usi Google per questo, dovresti trovare molti risultati su come farlo.

Spero che questo aiuti.

    
risposta data 15.01.2014 - 14:59
fonte

Leggi altre domande sui tag