您的位置:首页 > 科技 > IT业 > (六)SvelteKit教程:刷新数据,preload data,环境变量和部署

(六)SvelteKit教程:刷新数据,preload data,环境变量和部署

2024/11/17 7:10:48 来源:https://blog.csdn.net/CoderPai/article/details/140072435  浏览:    关键词:(六)SvelteKit教程:刷新数据,preload data,环境变量和部署

(六)SvelteKit教程:刷新数据,preload data,环境变量和部署

1.刷新数据

文件目录如下:

├── stocks
│   ├── +page.js
│   └── +page.svelte

+page.js 内容如下:

export const load = async (loadEvent) => {const { fetch } = loadEvent;// depends('stocks:actively-trading');const response = await fetch('http://localhost:4000/stocks');const stocks = await response.json();return { stocks };
};

+page.svelte 内容如下:

<script>import { invalidateAll, invalidate } from '$app/navigation';export let data;function refresh() {// invalidateAll();// invalidate('stocks:actively-trading');invalidate('http://localhost:4000/stocks');}
</script><h1>Actively trading stocks</h1>{#each data.stocks as stock}<h2>{stock.symbol} - ${stock.price}</h2>
{/each}<button on:click={refresh}>Refresh</button>

重点是里面的 refresh 函数。

2.preload data

如下 routes/+page.svelte 内容:

<script>import { goto, preloadData } from "$app/navigation";const handleClick = () => {console.log("handleClick about page");goto("/about");};
</script><div>This is a Home page.<a href="/users" data-sveltekit-preload-data="hover"> users page</a><a href="/stocks"> stocks page</a></div><button on:focus={async () => {await preloadData("/about");}}on:mouseover={async () => {await preloadData("/about");}}on:click={handleClick}>Go to About page</button>

其中 <a href="/users" data-sveltekit-preload-data="hover"> users page</a>这行代码是通过参数来进行 preload data,如果你想要通过写代码,那么可以参考如下:

on:focus={async () => {await preloadData("/about");}}on:mouseover={async () => {await preloadData("/about");}}

3.环境变量

在根目录下设置 .env 文件,里面写入:

DB_USER=root
DB_PASSWORD=root
DB_HOST=localhost

之后,我们可以通过在 +page.server.js 中通过:

import { DB_USER } from '$env/static/private';  

来进行使用。

4.部署

通过 https://vercel.com/ 非常容易

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com