gpt4 book ai didi

javascript - 找不到模块 'jsonwebtoken' Node.js

转载 作者:行者123 更新时间:2023-11-30 07:50:37 28 4
gpt4 key购买 nike

我正在尝试使用 node.js 设置用户级身份验证,所以我去执行 npm install -g jsonwebtoken --save。但是,当我使用 require('jsonwebtoken') 时遇到问题;并尝试编译我的代码,它给了我上面标题中描述的错误。现在,出于某种原因,当我卸载 JWT 并尝试在没有它的情况下运行我的代码时,它会编译,但显然它不起作用。我尝试重新安装它,仍然没有成功。我的 npm --version6.3.0

Node --版本v11.1.0

npm install -g jsonwebtoken --save+ jsonwebtoken@8.4.0

代码:

'use strict';

require('jsonwebtoken');

exports.generateToken = async (data) => {
return jwt.sign(data, global.SALT_KEY, { expiresIn: '1d' });
}

exports.decodeToken = async (token) => {
var data = await jwt.verify(token, global.SALT_KEY);
return data;
}

exports.authorize = function (req, res, next) {
var token = req.body.token || req.query.token || req.headers['x-access-token'];

if (!token) {
res.status(401).json({
message: 'Acesso Restrito'
});
} else {
jwt.verify(token, global.SALT_KEY, function (error, decoded) {
if (error) {
res.status(401).json({
message: 'Token Inválido'
});
} else {
next();
}
});
}
};

exports.isAdmin = function (req, res, next) {
var token = req.body.token || req.query.token || req.headers['x-access-token'];

if (!token) {
res.status(401).json({
message: 'Token Inválido'
});
} else {
jwt.verify(token, global.SALT_KEY, function (error, decoded) {
if (error) {
res.status(401).json({
message: 'Token Inválido'
});
} else {
if (decoded.roles.includes('admin')) {
next();
} else {
res.status(403).json({
message: 'Esta funcionalidade é restrita para administradores'
});
}
}
});
}
};

enter image description here

最佳答案

与其使用 -g 标记全局安装它,不如将其本地安装在当前工作目录中。只是做:

npm install jsonwebtoken --save

这是因为您不能在代码中直接要求一个全局安装的包。

关于javascript - 找不到模块 'jsonwebtoken' Node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53717206/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com