我尝试在我的项目中使用 bcrypt 对密码进行哈希处理,但每次密码都保存在 MongoDB 中而没有经过哈希处理。我尝试了各种解决方案,但没有一个有效。为了诊断问题,我隔离了 bcrypt 函数并单独对其进行了测试。但是,我遇到了“相对引用”的错误... bcrypt 不需要导入语句中的相对引用才能正常运行。我不确定为什么会遇到这个错误。
错误:“未捕获类型错误:无法解析模块说明符“bcrypt”。相对引用必须以“/”、“./”或“../”开头。”
`import bcrypt from "bcrypt";
const testPassword = "test123";
const saltRounds = 10;
bcrypt.hash(testPassword, saltRounds, (err, hash) => {
if (err) {
console.error("Error hashing password:", err);
} else {
console.log("Hashed password:", hash);
}
});`
像这样导入 bcrypt :
import * as bcrypt from "bcrypt";
然后你应该可以调用 bcrypt.hash(...)
编辑:确保您也安装了 bcrypt :
npm i bcrypt