Sto scherzando con Node.js per la prima volta e ho deciso di creare un'applicazione semplice usando express. Ho seguito le istruzioni da github in una directory vuota in questo modo:Ottenere un errore durante l'esecuzione del progetto Express di base
npm install -g express
express
npm install -d
node app.js
Durante la navigazione verso localhost:3000
ottengo l'errore seguente:
Express
500 Error: Cannot find module './lib/jade'
at Function._resolveFilename (module.js:332:11)
at Function._load (module.js:279:25)
at Module.require (module.js:354:17)
at require (module.js:370:17)
at Object. (C:\dev\gravity_kata\node_modules\jade\index.js:4:5)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
at Module.load (module.js:348:31)
at Function._load (module.js:308:12)
at Module.require (module.js:354:17)
Quando si cerca sotto node_modules\jade\lib
vedo tutti i file di libreria di Jade, ma no cartella jade
. Così ho creato una cartella sotto lib chiamato jade e spostato i file della libreria lì e ora funziona la mia applicazione predefinita.
Ora, visto che non ho quasi nessuna esperienza con Node.js ed Express, sono abbastanza sicuro di aver fatto qualcosa di sbagliato. Qualcuno ha idea di cosa sta succedendo qui?
Edit:
mi sono tuffato nel codice di Giada. Sotto il file index.js di Jade richiede lib\jade
e guardando sotto la cartella lib, non c'era il file jade.js
. Bene, questo è il problema, ma perché manca il file jade.js? Quando si estrae la Jade source da npm, c'è un file jade.js nella directory lib. Ho copiato la cartella lib dalla sorgente scaricata nel modulo Jade per il mio progetto e ora funziona bene.
Quindi, per qualche motivo, npm non sta tirando giù il file jade.js. La versione nel file packages.json
corrisponde alla fonte che ho tirato giù, 0.21.0
. Qualcuno ha un'idea sul perché questo è successo?
Sembra che sia un problema di jade o espresso. Prova ad immergerti nel codice ... –
Ho modificato la mia risposta su ciò che ho trovato dopo aver inserito il codice. – JChristian
Il download dal sorgente e l'estrazione hanno funzionato per me. Grazie per aver segnalato il file mancante. Deve essere un bug con NPM/Jade. – foobar