nodejs:找不到模块' passport'

时间:2015-11-19 15:39:31

标签: node.js visual-studio passport.js

在探索Node.js之初,我遗漏了一些相当基本的东西。我正在尝试使用passportjs身份验证构建一个小应用程序。

我的app.ts中有以下一行:

import passport = require("passport");

以下是我的package.json:

{
    "name": "ftct",
    "version": "0.0.0",
    "description": "ftct",
    "main": "app.js",
    "author":
    {
        "name": "Mark.Norgate",
        "email": ""
    },
    "dependencies":
    {
        "express": "3.4.4",
        "jade": "*",
        "passport": "^0.3.2",
        "stylus": "*"
    }
}

然而,Visual Studio 2015抱怨:

Build: Cannot find module 'passport'.

我错过了什么?我已经阅读了一些关于passportjs的文档,但到目前为止还没有说明问题可能是什么。

5 个答案:

答案 0 :(得分:3)

向package.json添加新模块实际上不会在存储库中包含依赖项。在向package.json添加依赖项之后,您需要运行npm install,或者可以使用npm install <package name>之类的东西来安装软件包。在这种情况下,您需要npm install passport

npm install将从npm下载源代码并将其放入./node_modules目录。

npm install documentation

答案 1 :(得分:2)

变化:

import passport = require("passport");

为:

var passport = require("passport");

答案 2 :(得分:1)

我有一个类似的问题,安装了护照并正确保存在package.json中,但仍然出现错误。

我的问题是在package.json中有行

"engines": {
    "node": ">=6.9.1"
  },

我将我的package.json与其他在线示例进行了比较,然后删除了该行并且它有效。

答案 3 :(得分:0)

删除node_modules,删除package-lock.json,然后运行npm install,然后运行npm install --save password。

答案 4 :(得分:0)

我遇到了同样的问题并做了上面的例子,但我只是通过更改护照的版本来解决它,现在我不知道为什么,但是使用 0.4.1 版本我的应用程序不起作用(甚至需要模块而不使用它),为了解决它,我只运行了以下命令 npm install passport@0.4.0