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

时间:2014-02-18 21:54:38

标签: node.js

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

我正在尝试包含this模块,所以我使用此命令安装:

npm install Faker --save-dev

我的应用结构是这样的:

应用   控制器   楷模 node_modules   骗子 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部分。

3 个答案:

答案 0 :(得分:2)

要让require工作,您需要执行以下操作:

var Faker = require('Faker');

npm安装的任何软件包都需要名称。只有本地需要的模块才需要类似路径的需求。您的require(./Faker);表示“需要相同目录中的模块作为此文件,称为'Faker'”

答案 1 :(得分:2)

Typescript用户来自,请记住安装@types/faker。然后,import faker from 'faker';可以正常工作。

答案 2 :(得分:1)

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

var faker = require('Faker');