web-dev-qa-db-fra.com

node.js require ne trouve pas le module personnalisé

Voici la structure du projet:

/
  app.js
  package.json
  /node_modules
  /app
    config.json
    /frontend
      assets and html tpls
    /modules
      couch.js
      raeume.js
      users.js

J'ai besoin de config.json, raeume.js et users.js à partir app.js et tout fonctionne bien.

var config   = require('./app/config');
var raeume   = require('./app/modules/raeume');
var users    = require('./app/modules/users');

Ensuite, j'ai besoin de config.json et de couch.js de user.js de la même manière et il ne trouvera rien.

var couch     = require('./app/modules/couch');
var config    = require('./app/config');

Je suppose qu'il devrait le trouver. Après quelques recherches, j'ai découvert un éventail de problèmes, y compris la manière dont le nœud est compilé. Ainsi inclus: je travaille sur osx 10.8 avec le noeud v0.10.7.

52
thgie

Le chemin est relatif au répertoire dans lequel vous êtes requireing les fichiers, il devrait donc ressembler à ceci:

var couch = require('./couch');
var config = require('../config');

Un peu de clarification, si vous écrivez

var couch = require('./couch');

vous essayez de require le module de canapé qui réside dans le répertoire en cours, si vous écrivez

var couch = require('couch');

vous essayez de require le module de canapé installé via npm.

107
Alberto Zaccagni

Voici comment vous le faites:

var users    = require('./../modules/users');
4
Dory Zidon

Ce doit être:

var config = require(../../app/config)

var couch = require(./couch) (same directory)
3
Nghiep Ngo