【发布时间】:2023-04-01 16:20:01
【问题描述】:
TL:DR:将jsonwebtoken 替换为jwt-decode
我在将现有的 React 应用升级到最新版本时遇到了一些问题。每次我都会收到以下错误
Can't resolve 'buffer' in '/home/user/projects/trash/tokentest/test/node_modules/buffer-equal-constant-time'
Can't resolve 'stream' in '/home/user/projects/trash/tokentest/test/node_modules/buffer-equal-constant-time'
Can't resolve 'util' in '/home/user/projects/trash/tokentest/test/node_modules/buffer-equal-constant-time'
Can't resolve 'crypto' in '/home/user/projects/trash/tokentest/test/node_modules/buffer-equal-constant-time'
我可以通过安装 buffer stream 和 util 包来摆脱除加密之外的所有这些。
我尝试安装crypto、crypto-browserify 和crypto-js。
我确实发现我可以通过从项目中删除 jsonwebtoken 来使其工作。但在那之后它不再完全正常工作,因为它需要用户身份验证。
为了测试,我创建了一个全新的 create-react-app 项目。它开箱即用。但是一旦我安装并导入jsonwebtoken,我就会再次得到完全相同的错误。这意味着即使在一个完全干净的项目中,jsonwebtoken 也不能使用。
有没有办法解决这个问题?因为我想升级我的项目并使用jsonwebtoken。
【问题讨论】:
-
你说的是这个包吗? www.npmjs.com/package/jsonwebtoken 是node js的一个包。你在 React 应用程序中有什么用?您是否在 react 中签名和验证令牌?
-
是的,就是这个包,我只是用它来解码来自服务器的令牌