如何在 SvelteKit 中获取加载功能的用户代理

Ulv*_*lvi 2 svelte svelte-component sveltekit

我想获得user agentload function选择是否执行服务器端渲染或不依赖于访问者是googlebot或不是。

我怎样才能在里面访问它load function

我正在使用最新版本的 SvelteKit,即 1.0.0。

Ulv*_*lvi 5

使用钩子管理它。

创建hooks.js内部src文件夹:

export function getSession(request) {
    return {
        userAgent: request.headers['user-agent']
    }
}
Run Code Online (Sandbox Code Playgroud)

然后你可以在load function你想要的每个组件中使用它:

<script context="module">
    export async function load({ session }) {
        console.log(session.userAgent)
    }
</script>
Run Code Online (Sandbox Code Playgroud)

有关文档中的更多信息,请参阅钩子部分。

  • 不需要为此目的使用钩子,因为默认情况下请求对象可用于加载函数,即您可以使用 load({ request }) 而不是会话并继续。 (2认同)