我在Next.js 13项目中尝试了不同的捆绑器,我正在为第三方API进行身份验证。我正在修补新的Turbopack捆绑器,并使我的登录工作正常,但当我切换到Webpack时,我的response.headers
结构完全不同,这导致使用从API成功返回的登录cookie时出现问题。
使用Turbopack时,当我使用console.log response.headers
时,我会得到这样的结果:
Headers {
[Symbol(map)]: [Object: null prototype] {
'content-type': [ 'application/json; charset=utf-8' ],
'content-length': [ '1048' ],
...
'set-cookie': [..., ..., ...] // Array with a few strings
}
但由于某种原因,切换回Webpack时,标头的结构有所不同
[Symbol(headers map)]: Map(31) {
'content-type' => { name: 'Content-Type', value: 'application/json; charset=utf-8' },
'content-length' => { name: 'Content-Length', value: '1048' },
...
'set-cookie' => {
name: 'Set-Cookie',
value: '...', // One big string
},
}
我使用Turbopack通过response.headers.raw()['set-cookie']
Map来构建登录cookie,以便在getAuth
函数中使用
一个二个一个一个
以上函数在Turbopack中运行良好,但在Webpack中出现错误response.headers.raw is not a function
。实际的身份验证仍然成功,但我不知道如何访问它创建的cookie,该cookie的结构与使用Webpack时不同。
我从来没有处理过这样的事情,我真的很想使用Webpack,因为Turbopack仍然是alpha版本,还不兼容SCSS。我尝试过使用response.headers.get('set-cookie')
访问我需要的值,但没有成功。
任何帮助或建议都是非常感谢的!如果我不能想出一个解决方案,我可能会咬紧牙关,切换回CSS和使用Turbopack,因为它是工作得很好的方式。
1条答案
按热度按时间kdfy810k1#
使用
response.headers.get('set-cookie')
可以正常工作干得好,我。