我有一个用TypeScript编写的Node.js + Restify应用程序。我尝试加载加密模块(https://nodejs.org/api/crypto.html):
import * as crypto from "crypto";
当我编译脚本时,我收到以下错误:
error TS2307: Cannot find module 'crypto'.
当我使用JavaScript而不是TypeScript时,它工作正常:
var Crypto = require('crypto');
我在同一个地方加载的其他模块工作正常,例如:
import * as bcrypt from "bcrypt";
我做错了什么?
删除加密依赖项,因为它已被移动到NodeJS ...没有该依赖项,导入在我的Visual Studio中的njsproj
文件中正常工作:
import * as crypto from 'crypto';
如果您遇到更多常规类型问题,或者处于不了解Node的IDE或项目类型中,请检查您的输入是否为dev依赖项,例如@types/node
。
我有同样的问题,我已经解决了这个依赖:
"dependencies": {
"bcrypt": "3.0.0",
...
},
"devDependencies": {
"@types/bcrypt": "^2.0.0",
"ts-node": "5.0.1",
"typescript": "2.6.2",
...
}
之后,我可以导入模块,没有错误
import * as bcrypt from 'bcrypt';