在探索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的文档,但到目前为止还没有说明问题可能是什么。
答案 0 :(得分:3)
向package.json添加新模块实际上不会在存储库中包含依赖项。在向package.json添加依赖项之后,您需要运行npm install
,或者可以使用npm install <package name>
之类的东西来安装软件包。在这种情况下,您需要npm install passport
。
npm install
将从npm下载源代码并将其放入./node_modules目录。
答案 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