使用adapter-static时如何在sveltekit上使用获取参数?

Goo*_*a88 8 get svelte sveltekit

我在构建时收到错误消息。

无法访问url.searchParams启用预渲染的页面

如何加载和使用get参数?

svelte.config.js

import adapter from '@sveltejs/adapter-static';
import preprocess from 'svelte-preprocess';

const config = {
      preprocess: preprocess({
      }),
    kit: {
        adapter: adapter({
                  pages: 'build',
                  assets: 'build',
                  fallback: null,
                  precompress: false
            }),
            prerender: {
                  default: true
            },
            trailingSlash: 'always'
    }
};

export default config;
Run Code Online (Sandbox Code Playgroud)

斯维尔特

...
import {page} from '$app/stores';
const id = $page.url.searchParams.get('id');
...
Run Code Online (Sandbox Code Playgroud)

Ste*_*aes 6

您不能同时使用 searchParams 和预渲染站点。您的 searchParams 可能有无限的变体,因此您必须预渲染无限数量的页面。

如果您想要一个动态站点,请不要预渲染该页面。您可以将各个页面标记为不预渲染

<script context="module">
    export const prerender = false;
</script>
Run Code Online (Sandbox Code Playgroud)

请注意,现在您将需要一个fallback页面,并且必须确保将这些页面重定向到index.html,否则您将收到 404s