在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> 

为什么这个应用程序不会启动? 我已经尝试了全局npm安装。

./models/todo ,句点表示节点将查找 api.js 相同的文件夹,该文件夹将查找\Todo List\routes\models\todo.js 这不是从应用程序的根目录开始的。 为了要求这一点,你需要两个阶段来跳转一个级别,并指定应用程序的path:

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

也许你没有设置系统值:NODE_PATH; 它应该指向你的全球模块位置;

在Linux中: export NODE_PATH=/usr/local/lib/node_modules/对我export NODE_PATH=/usr/local/lib/node_modules/ ;

在我的情况下,我在我的要求声明中给出的文件名是错误的。 我有我的模型文件名为posts.js和我使用require('./型号/职位')。 它工作后,我改变它需要('.models /职位')