typescript 节点.组件不是函数

w9apscun  于 2022-11-30  发布在  TypeScript
关注(0)|答案(3)|浏览(202)

我正在尝试sveltekit表单操作,它不断给出500内部错误,标题在控制台:node.component is not a function
src/routes/login/+page.server.js

import type { Actions } from '@sveltejs/kit';

export const actions: Actions = {
    default: async ({ request, cookies, url }) => {
        return { success: true }
    }
};

src/routes/+page.svelte

<form method="POST" action="/login">
    <div class="card-body"> 
        <button class="btn btn-primary w-100" type="submit">Login</button>
    </div>
</form>
rwqw0loc

rwqw0loc1#

你需要添加一个文件src/routes/login/+page.svelte,因为没有它表单将无法工作。请注意,它需要是确切的文件名(分别为+page.svelte+layout.svelte)。
或者,如果您有一个+layout.server.ts,则添加一个包含<slot/>+layout.svelte

8cdiaqws

8cdiaqws2#

我添加此答案是因为我遇到了同样的问题,但找不到表单缺少的+page.svelte
我有一个嵌套的+layout.server.ts,只是用来提供数据,但是我没有对应的+layout.svelte
我只是把<slot />放到这个新的嵌套的+layout.svelte中。

k5hmc34c

k5hmc34c3#

同样的错误,但在我的情况下,我只是命名文件不正确。在我的情况下,我有:
src/blog/[slug]/page.svelte
代替
src/blog/[slug]/+page.svelte(注意加号)
这导致Svelte忽略文件并抛出TypeError: node.component is not a function错误。我更正了名称,现在它可以工作了。

相关问题