我对 sveltkit 很陌生。刚刚关注的
supabase-svelte
应用程序引用了此链接。正如它所说,supabased 示例效果很好。
现在我尝试了其他方法,例如路由参考官方文档。这看起来很简单,但对我来说不起作用。
这是我的src结构
和
+page.svelte
:
<h1>About this site</h1>
<p>TODO...</p>
<a href="/">Home</a>
当我访问
http://localhost:5173/about
时,它似乎只是主要App.svelte
。
这是我的
App.svelte
,与supabase-svelte
应用程序相同。
<script lang="ts">
import { onMount } from 'svelte'
import { supabase } from './supabaseClient'
import type { AuthSession } from '@supabase/supabase-js'
import Account from './lib/Account.svelte'
import Auth from './lib/Auth.svelte'
let session: AuthSession | null
onMount(() => {
supabase.auth.getSession().then(({ data }) => {
session = data.session
})
supabase.auth.onAuthStateChange((_event, _session) => {
session = _session
})
})
</script>
<div class="container" style="padding: 50px 0 100px 0">
{#if !session}
<Auth />
{:else}
<Account {session} />
{/if}
</div>
我用谷歌搜索了很多,但找不到任何有用的东西..
链接的指南不会创建 SvelteKit 应用程序,而是创建基本的 Vite + Svelte 项目。 IE。没有路由,只有嵌套组件(因此 SvelteKit 中不存在
App.svelte
)。
可以从实际的 SvelteKit 项目(可以通过
sv
CLI 创建)开始,也可以在事后添加必要的包和配置。
您将需要各种套餐:
@sveltejs/adapter-auto
(默认适配器,可根据部署目标进行交换)@sveltejs/kit
@sveltejs/vite-plugin-svelte
A
svelte.config.js
沿着这些思路:
// import adapter from '@sveltejs/adapter-node';
import adapter from '@sveltejs/adapter-auto';
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
/** @type {import('@sveltejs/kit').Config} */
const config = {
// for e.g. SCSS support in style tags
preprocess: vitePreprocess(),
kit: {
adapter: adapter()
}
};
export default config;
并且需要在
vite.config.js
/ts
中添加SvelteKit插件:
import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';
export default defineConfig((cfg) => ({
plugins: [
sveltekit(),
],
}));