使用静态适配器时如何在 sveltekit 上使用 get 参数?
How to use get parameter on sveltekit when use adapter-static?
我在构建时收到错误消息。
“无法在启用预呈现的页面上访问 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;
qna.svelte
...
import {page} from '$app/stores';
const id = $page.url.searchParams.get('id');
...
您不能同时使用搜索参数和预呈现网站。您的 searchParams 可能有无限变体,因此您必须预呈现无限数量的页面。
如果您想要动态网站,请不要预呈现该页面。您可以将个别页面标记为不预呈现
<script context="module">
export const prerender = false;
</script>
请注意,现在您将需要一个 fallback
页面并且必须确保将这些页面重定向到 index.html 否则您将收到 404s
我在构建时收到错误消息。
“无法在启用预呈现的页面上访问 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;
qna.svelte
...
import {page} from '$app/stores';
const id = $page.url.searchParams.get('id');
...
您不能同时使用搜索参数和预呈现网站。您的 searchParams 可能有无限变体,因此您必须预呈现无限数量的页面。
如果您想要动态网站,请不要预呈现该页面。您可以将个别页面标记为不预呈现
<script context="module">
export const prerender = false;
</script>
请注意,现在您将需要一个 fallback
页面并且必须确保将这些页面重定向到 index.html 否则您将收到 404s