标签: sveltekit

如何使用 sveltekit 和 pnpm 设置turborepo

我正在尝试将 Turborepo 添加到我的 Svelte 应用程序中,但看起来npx create-turbo@latest命令和示例目前仅支持 NextJs。如何配置它以运行 Svelte 和 Sveltekit 应用程序?

monorepo svelte sveltekit turborepo

5
推荐指数
1
解决办法
3605
查看次数

如何在 WebStorm(和 PhpStorm 等)中启用对 SvelteKit 的 $lib 别名的支持?

是否可以定义一个特殊的映射,使 PhpStorm(或其他基于 WebStorm 的 IDE)能够查找位于 SvelteKit 的特殊$lib目录别名中的文件?

例如,在 PhpStorm 中,我导入全局样式,如下所示:

<script context="module">
    import '$lib/global-styles.scss';
</script>
Run Code Online (Sandbox Code Playgroud)

然而,不幸的是,当尝试导航到该特定文件时,IDE 会显示“无法找到要转到的声明”:

弹出错误显示“找不到要转到的声明”

jetbrains-ide webstorm svelte sveltekit

5
推荐指数
2
解决办法
2437
查看次数

如何处理重置布局?

我现在收到此错误:

__layout.reset 已被删除,以支持命名布局:https ://kit.svelte.dev/docs/layouts#named-layouts

我有一个子目录,我不想继承其基本布局。

$ find . -name '*layout*'               
./setup-profile/__layout.reset.svelte
./auth/__layout.reset.svelte
./__layout.svelte
Run Code Online (Sandbox Code Playgroud)

package.json 有

    "@sveltejs/kit": "next",
Run Code Online (Sandbox Code Playgroud)

svelte sveltekit

5
推荐指数
2
解决办法
3849
查看次数

如何将 sigma.js 与 svelte 结合使用

我一直在尝试使用 Svelte / Sveltekit 加载 sigma.js,但似乎没有组件集成,也没有任何关于如何执行此操作的指导。我尝试将其作为客户端代码加载到 Sveltekit 中,但没有成功,但我不知道这是否是合法的方法。Sigma.js 中是否有与 Sveltekit 一起运行的简单图表的工作示例?

javascript sigma.js svelte sveltekit

5
推荐指数
1
解决办法
488
查看次数

Svelte(svelte-kit)类型自定义动作事件与打字稿

我正在使用下面的 clickOutside 操作。

export function clickOutside(node: HTMLElement) {
 function detect({ target }: MouseEvent) {
   if (!node.contains(target as Node)) {
     node.dispatchEvent(new CustomEvent('clickoutside'));
    }
  }
   document.addEventListener('click', detect, { passive: true, capture: true });
   return {
     destroy() {
       document.removeEventListener('click', detect);
    },
  };
Run Code Online (Sandbox Code Playgroud)

当我将鼠标悬停在:clickoutside={() => {}} 上时,我仍然遇到此错误

Type '{ onclickoutside: () => void; class: string; }' is not assignable to type 'HTMLProps<HTMLDivElement>'.
  Property 'onclickoutside' does not exist on type 'HTMLProps<HTMLDivElement>'}
Run Code Online (Sandbox Code Playgroud)

我在 svelte 套件中尝试过这个app.d.ts

declare namespace svelte.JSX {
  interface HTMLAttributes<T> {
    clickoutside?: (event: CustomEvent) …
Run Code Online (Sandbox Code Playgroud)

typescript svelte sveltekit

5
推荐指数
2
解决办法
2900
查看次数

Sveltekit VITE v3.0.2 本地主机从 3000 更改为 5173

2022 年 7 月 20 日 由 npm init svelte@next 创建的新 Sveltekit 项目。今天之前,所有 sveltekit 项目都在 localhost:3000 上以开发模式运行。当前项目在 localhost:5173 上运行,这使得它变得困难,因为 supabase 默认返回对 localhost:3000 的响应。我尝试更改 package.json,如https://www.cloudhadoop.com/svelte-change-port/所示 ,但没有成功。我尝试更改 Vite 服务器选项,如https://main.vitejs.dev/config/server-options.html#server-host中 所示,但这也不起作用。有没有人有一种万无一失的简单方法可以在 localhost:3000 上获取新的 Sveltekit 项目?非常感谢

localhost vite sveltekit

5
推荐指数
1
解决办法
1万
查看次数

端点上不允许使用 Sveltekit POST 方法

我正在尝试让这个 fetch 方法在 Svelte 中工作

当 page.svelte 调用函数来获取数据时,在控制台中我收到此消息

[HTTP/1.1 405 Method Not Allowed 19ms]
Run Code Online (Sandbox Code Playgroud)

我已经缩小到这个范围

POST method not allowed
Run Code Online (Sandbox Code Playgroud)

我需要在配置文件中设置一个变量还是有另一个我缺少的解决方案?

// svelte.config.js

import adapter from '@sveltejs/adapter-auto';

const config = {
    kit: {
        adapter: adapter(),
        methodOverride: {
            allowed: ['POST']
        },
    }
};

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

这两个文件都位于 Routes 文件夹中

// 获取数据.js

export const POST = async(data) => {
  const response = // get data function here
  return {
    body: {
        data: response
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

// page.svelte

async function fetchData() {
   const …
Run Code Online (Sandbox Code Playgroud)

javascript endpoint fetch-api vite sveltekit

5
推荐指数
1
解决办法
7608
查看次数

使用 https 运行 sveltekit dev

在开发环境中是否可以使用 https 运行 SvelteKit 应用程序?\n我尝试运行

\n
npm run dev -- --https  \n
Run Code Online (Sandbox Code Playgroud)\n

vite启动服务器成功:

\n
VITE v3.0.2  ready in 359 ms\n\n  \xe2\x9e\x9c  Local:   https://localhost:5173/\n  \xe2\x9e\x9c  Network: [...] \n
Run Code Online (Sandbox Code Playgroud)\n

但我无法连接到 https://localhost:5173\nchrome 说:ERR_SSL_VERSION_OR_CIPHER_MISMATCH

\n

我还尝试编辑 vite.config.js 添加我的证书:

\n
https: {\n    key: readFileSync( `${__dirname}/../server/key.pem`),\n    cert: readFileSync(`${__dirname}/../server/cert.pem`),\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我还尝试在这篇文章之后使用 mkcert() :

\n

在本地主机上访问 https

\n

但它会导致同样的错误

\n

然后我尝试使用 mkcert 作为插件:

\n
const config = {\n    \n    server: {       \n        https: true\n    },\n\n    plugins: [sveltekit(), mkcert()],\n\n}; \n
Run Code Online (Sandbox Code Playgroud)\n

这次,在第一次加载时,它似乎可以工作,但是使用 SvelteKit goto() 加载其他页面会导致以下不同的错误:

\n
TypeError …
Run Code Online (Sandbox Code Playgroud)

svelte sveltekit

5
推荐指数
2
解决办法
6354
查看次数

sveltekit:模块“$app/stores”没有导出成员“会话”

我正在尝试将 sveltekit 应用程序从旧版本迁移到最新版本。会话已从 $app/stores 中删除。

我无法在当前文档中找到对新会话的引用。

我在 +layout.svelte 中使用此参考

    <script lang="ts">
        import { session } from '$app/stores';
    </script>
Run Code Online (Sandbox Code Playgroud)

并从 hooks.ts 调用 GetSession:

    import type { GetSession, Handle } from '@sveltejs/kit';
Run Code Online (Sandbox Code Playgroud)

引用它们的新方式是什么?

本.

session sveltekit

5
推荐指数
0
解决办法
286
查看次数

如何使用 vite 重置 svelte/kit 中的布局

如果我在 /routes 有一个主布局“+layout.svelte”,然后尝试在 /routes/auth/login 重置布局,它不起作用。

  • 如果名称是“+layout.svelte”,则布局将嵌入主布局内。
  • 如果名称是“+layout@.svelte”,则它不起作用。
  • 如果名称是“+layout.reset.svelte”,则其: 错误:以 + 为前缀的文件被保留。

因为svelte/kit的默认配置是vite。我认为他们改变了它,但我不知道该怎么做。

我在文档中只能找到有关重置布局的内容。

位于:kit.svelte.dev/docs/advanced-routing#advanced-layouts-layout

frameworks sveltekit

5
推荐指数
1
解决办法
5568
查看次数