小编les*_*les的帖子

Node v 13:我是否因为使用 ES 模块而收到“类型错误:jwt.sign 不是函数”?

控制台错误:TypeError:jwt.sign 不是函数

在我的 package.json 中使用 "type": "module" 尝试最新的 Node 版本 13。到目前为止一切都很顺利,直到我尝试使用“jsonwebtoken”添加令牌身份验证。不确定这是我的代码问题还是兼容性问题?使用他们的 ES 模块与我在 React 中使用的有一些不同。

创建新的令牌辅助函数

import * as jwt from 'jsonwebtoken'

export const newToken = user => {
    return jwt.sign({id: user.id}, JWT_SECRET, {
        expiresIn: '1d'
    })
}
Run Code Online (Sandbox Code Playgroud)

注册功能

export const signup = async (req, res, next) => {
 // ... 
try {
    //.. create user code ..
        const user = new User({email, password})
        user.save()
        const token = newToken(user)
        return res.json({token, user})
    } catch (error) {
        console.error(error)
        res.status(500).send('Server Error') …
Run Code Online (Sandbox Code Playgroud)

node.js jwt es6-modules

1
推荐指数
1
解决办法
3092
查看次数

标签 统计

es6-modules ×1

jwt ×1

node.js ×1