J'ai une structure de répertoire comme ceci:node.js: Pourquoi NODE_DEBUG = 1 ne fonctionne-t-il pas? (En essayant de déboguer un require() erreur)
project
lib
paperboy
redis-client
node-cookie
srv
main.js
...
Je commence main.js à partir du répertoire du projet:
$ node srv/main.js
En main.js, je peut faire:
paperboy = require('./lib/paperboy');
Cependant, cela ne fonctionne pas:
redis = require('./lib/redis-client');
De même, si je démarre un nœud interactif dans le répertoire "projet", je peux demander paperboy, mais pas redis-client. L'erreur que je reçois est:
> require('./lib/redis-client')
Error: Cannot find module './lib/redis-client'
at resolveModuleFilename (node.js:265:13)
at loadModule (node.js:231:20)
at require (node.js:291:14)
...
regardant la source resolveModuleFilename(), il tente d'imprimer une chaîne de débogage, que je ne vois pas:
debug("looking for " + JSON.stringify(id) + " in " + JSON.stringify(paths));
J'ai essayé d'activer cette grâce Exporter NODE_DEBUG = 1, mais je ne vois toujours pas cette impression de débogage lorsque vous essayez d'exiger. Qu'est-ce que je fais de mal à essayer d'obtenir ce débogage pour imprimer?
Et, deuxièmement, pourquoi paperboy charge bien, mais redis-client ne peut pas être trouvé?
Informations complémentaires: Voici le dossier complet/liste de répertoire dans le répertoire « lib »:
lib
lib/cookie-node
lib/cookie-node/package.json
lib/cookie-node/LICENSE.txt
lib/cookie-node/README.markdown
lib/cookie-node/example
lib/cookie-node/example/ex1.js
lib/cookie-node/index.js
lib/redis-client
lib/redis-client/package.json
lib/redis-client/TODO.md
lib/redis-client/examples
lib/redis-client/examples/redis-version.js
lib/redis-client/examples/using-kiwi.js
lib/redis-client/examples/subscriber.js
lib/redis-client/examples/publisher.js
lib/redis-client/examples/.redis-version.js.swp
lib/redis-client/examples/README.md
lib/redis-client/seed.yml
lib/redis-client/LICENSE
lib/redis-client/test
lib/redis-client/test/test_throw_from_callback.js
lib/redis-client/test/test_shutdown_reconnect.js
lib/redis-client/test/test.js
lib/redis-client/test/sample.png
lib/redis-client/.gitignore
lib/redis-client/lib
lib/redis-client/lib/redis-client.js
lib/redis-client/README.md
lib/paperboy
lib/paperboy/package.json
lib/paperboy/seed.yml
lib/paperboy/LICENSE.txt
lib/paperboy/example
lib/paperboy/example/basic.js
lib/paperboy/example/webroot
lib/paperboy/example/webroot/img
lib/paperboy/example/webroot/img/paperboy.jpg
lib/paperboy/example/webroot/index.html
lib/paperboy/index.js
lib/paperboy/lib
lib/paperboy/lib/paperboy.js
lib/paperboy/README.md
Les lib sont .tar.gz non emballés de GitHub, re-nommé pour correspondre au nom du module de les fichiers package.json.
Ceci est une excellente description du système de module JavaScript commun. Mais cela ne répond pas à la vraie question: pourquoi NODE_DEBUG ne fonctionne-t-il pas comme documenté? –
J'ai supposé que la réponse de Sannis pour expliquer pourquoi NODE_DEBUG ne fonctionnait pas était la bonne, mais il a estimé que le contenu réel de la question n'avait pas été entièrement répondu par lui. –