在npm install –save-dev之后找不到模块faker

我想在本地安装我所有的模块,所以我使用更新package.json的“–save-dev”开关来安装所有的东西。

我想包括这个模块,所以我使用这个命令安装:

npm install Faker --save-dev 

我的应用程序结构是这样的:

应用程序控制器模型node_modules Faker server.js

所以Faker是在正确的地方,但是当我添加这个代码在我的server.js文件中:

 var faker = require('./Faker'); 

我收到以下错误信息:

 Error: Cannot find module './Faker' 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> (/Users/paulcowan/projects/async-talk/server.js:23:13) 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 Function.Module.runMain (module.js:497:10) 

但是这个工作:

 var Faker = require('./node_modules/Faker'); 

我不认为我将不得不包括node_modules部分。

要达到您的require ,您需要做:

 var Faker = require('Faker'); 

由npm安装的任何软件包都是按名称要求的。 只有本地需要的模块需要类似path的需求。 你的require(./Faker); 意味着“需要与该文件相同的目录中的模块,称为'Faker'”

删除./ 。 您正在告诉Node在当前目录中查找模块。

 var faker = require('Faker');