如何在 hooks.js 中设置多个 cookie?

Mat*_*chi 0 sveltekit

我在以下代码中始终无法设置多个 cookie:

//  src/hooks.js

import cookie from 'cookie';

export const handle = async ({ event, resolve }) => {
    console.log('handle');
    const cookies = cookie.parse(event.request.headers.get('cookie') || '');
    event.locals.sessionId = cookies.sessionId || null;
    const response = await resolve(event);
    if (event.locals.sessionId) {
        response.headers.set(
            'set-cookie',
            cookie.serialize('sessionId', event.locals.sessionId, {
                path: '/',
                httpOnly: true,
                secure: process.env.NODE_ENV === 'production',
                maxAge: 604800
            })
        );
    }
    return response;
};
Run Code Online (Sandbox Code Playgroud)

有什么可行的例子吗?

小智 6

使用response.headers.append('set-cookie', /* cookie */)而不是.set(...)

根据Fetch 规范append将附加一个标头,同时set将用新值替换标头的值。