【发布时间】:2021-01-24 06:38:35
【问题描述】:
我正在制作一个 nodeJS 网络应用程序,并且我正在使用 JWT 进行身份验证。我所有的工作都在 ES6 模块中,我想以同样的方式导入 JWT,但显然它还不被包支持。我无法使用较旧的 require() 格式,因为它会引发错误,因为我已将其设置为 package.json 中的模块。有没有办法解决这个问题,还是我必须完全找到另一个图书馆?
编辑:我已经解决了解构问题,但它仍然无法正常工作。显然它根本找不到模块。我确保该软件包实际上已安装和更新,但仍然无法正常工作
错误 [ERR_MODULE_NOT_FOUND]:找不到从 /path/to/file.js 导入的包 'jsonwebtoken'
import jwt from ' jsonwebtoken'
const { sign } = jwt
class sampleClass {
static func(user) {
return sign(
{
_id: user._id,
name: user.name,
},
'sample key',
{
expiresIn: '7d',
},
)
}
}
【问题讨论】:
-
您是否尝试使用实验标志
node --experimental-modules app.js执行您的文件 -
没办法你不能使用 es6 导入,你做错了。
-
是的,ES6 导入功能适用于所有其他包,问题在于 JWT,因为它不支持 ES6 导入,问题已在 github 上提出,但除了手动修改包之外没有其他解决方案,这导致了巨大的包装尺寸。
-
你在开玩笑吗?我刚刚安装了jwt,一切都很好。我不确定您尝试做什么,请发布您的代码。
-
我已经更新,显然出现了一个新错误。
标签: javascript node.js authentication npm jwt