svelte - 当 SvelteKit 加载函数在服务器端运行时,它如何访问本地存储?

标签 svelte sveltekit

当访问我的应用中的深层链接时,与深层链接相关的组件是第一个要渲染的页面,所以我认为它是 SvelteKit load function必须在服务器端运行,这是正确的吗?

如果是的话,我想知道load函数如何访问本地存储?它需要来自本地存储的数据,例如用户凭据、 token 等。

我尝试过,但似乎它仅当客户端运行时才能访问加载函数,而不是在服务器端运行。

提前致谢!

最佳答案

It needs data from local storage like user credentials, tokens and so on.

不,事实并非如此。 localStorage 是浏览器的事情,您通常不应该在其中存储任何与安全相关的内容(除非它已加密)。如果恶意脚本以某种方式运行,它将能够访问该信息。

身份验证 token 应存储在 HTTP-only cookies 中.

The docs注意:

The argument to a load function is a LoadEvent (or, for server-only load functions, a ServerLoadEvent which inherits clientAddress, cookies, locals, platform and request from RequestEvent)

正如您所看到的,在服务器加载函数中您可以访问 cookie。

关于svelte - 当 SvelteKit 加载函数在服务器端运行时,它如何访问本地存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74127146/

相关文章:

svelte - 如何在 svelte-kit 应用程序中从 node_modules 加载 pico css?

svelte - Rollup 无法解析 vite 中的 alias(@)

typescript - 无法找到从 Y 导入的模块 X - Playwright with Typescript

github-pages - 尝试在 github 页面上部署我的 svelte 应用程序时如何修复此错误?

javascript - 如何在 svelte 中创建响应式类

testing - 维特测试 : Failed to resolve import "$lib/stores/store"

material-ui - 如何将 Material UI 集成到 Svelte 项目中

javascript - 如何从命令行将 Svelte 文件编译为 JavaScript?

Svelte - 如何派生从依赖于存储的函数返回的存储?

svelte - 如何将 Svelte 存储与树状嵌套对象一起使用?