web-dev-qa-db-fra.com

Impossible de trouver le module dans Nodejs

module.js:340
    throw err;
          ^
Error: Cannot find module './models/todo'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (C:\Users\Basel\Desktop\Todo List\routes\api.js:1:74)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)

C:\Users\Basel\Desktop\Todo List>

Pourquoi cette application ne démarre pas? J'ai déjà essayé une installation globale de npm.

17
user2993058

Dans ./models/todo, le point indique que le nœud cherchera dans le dossier même que api.js est dedans, qui chercherait \Todo List\routes\models\todo.js. Cela ne démarre pas à la racine de l'application. Pour l'exiger, vous aurez besoin de nous deux périodes pour monter d'un niveau et spécifier également le chemin de l'application:

var todo = require('../app/models/todo');
31
matth

vous n'avez peut-être pas défini la valeur système: NODE_PATH; il doit pointer vers l'emplacement de votre module global;

sous Linux: export NODE_PATH=/usr/local/lib/node_modules/ fonctionne bien pour moi;

14
Chopper Lee