JWT的ES6进口

时间:2020-10-09 07:26:06

标签: javascript node.js authentication npm jwt

我正在制作一个nodeJS Web应用程序,并且正在使用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',
            },
      )
   }

}

2 个答案:

答案 0 :(得分:1)

您将需要导入它,然后像这样分配它

import jwt from 'jsonwebtoken';
const { sign, verify } = jwt;
const token = sign({"d":"dd"}, "secret", {expiresIn: 300})
console.log(token);
const verifycode = verify(token, "secret");
console.log(verifycode);

答案 1 :(得分:1)

您能尝试一下吗?

  1. 创建文件夹
  2. 执行npm init
  3. 创建文件app.js
  4. 安装json网络令牌npm i jsonwebtoken
  5. 转到package.json并添加"type": "module"
  6. 在您的app.js中输入以下内容:import jwt from "jsonwebtoken"
  7. 执行它:node --experimental-modules app.js

如果遇到错误,请告诉我

相关问题