JWT 的 ES6 导入

Unk*_*003 7 javascript authentication node.js 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',
            },
      )
   }

}
Run Code Online (Sandbox Code Playgroud)

小智 10

你需要导入它然后像这样分配它

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);
Run Code Online (Sandbox Code Playgroud)


Ifa*_*uki 2

你能尝试一下吗:

  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

如果出现错误请告诉我