JWT 的 ES6 导入

我正在制作一个 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',

            },

      )

   }


}


ibeautiful
浏览 138回答 5
5回答

慕村225694

你需要导入它然后像这样分配它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);

qq_花开花谢_0

你有一个额外的空间import jwt from ' jsonwebtoken'应该只是import jwt from 'jsonwebtoken'我刚刚测试过,它在我的电脑上运行良好

狐的传说

如果您使用的是 jwt v8,只需以这种方式导入 jsonwebtoken:import * as jwt from 'jsonwebtoken'或者import { sign, decode, verify } from 'jsonwebtoken'

慕容708150

你能试试吗:创建文件夹做npm init创建一个文件app.js安装 json 网络令牌npm i jsonwebtoken转到package.json并添加"type": "module"app.js在这里写下你的:import jwt from "jsonwebtoken"执行它:node --experimental-modules app.js如果您收到错误,请告诉我

海绵宝宝撒

我正在使用打字稿来编写我的节点服务器和 jwt 实现。这是我终端上的建议:尝试npm i --save-dev @types/jsonwebtoken它是否存在或添加一个包含 `declare module 'jsonwebtoken' 的新声明 (.d.ts) 文件;我刚刚输入:npm i --save-dev @types/jsonwebtoken然后在我的文件中添加了导入:import jwt from "jsonwebtoken"希望有所帮助。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript