我正在尝试将 Turborepo 添加到我的 Svelte 应用程序中,但看起来npx create-turbo@latest命令和示例目前仅支持 NextJs。如何配置它以运行 Svelte 和 Sveltekit 应用程序?
是否可以定义一个特殊的映射,使 PhpStorm(或其他基于 WebStorm 的 IDE)能够查找位于 SvelteKit 的特殊$lib目录别名中的文件?
例如,在 PhpStorm 中,我导入全局样式,如下所示:
<script context="module">
import '$lib/global-styles.scss';
</script>
Run Code Online (Sandbox Code Playgroud)
然而,不幸的是,当尝试导航到该特定文件时,IDE 会显示“无法找到要转到的声明”:
我现在收到此错误:
__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 加载 sigma.js,但似乎没有组件集成,也没有任何关于如何执行此操作的指导。我尝试将其作为客户端代码加载到 Sveltekit 中,但没有成功,但我不知道这是否是合法的方法。Sigma.js 中是否有与 Sveltekit 一起运行的简单图表的工作示例?
我正在使用下面的 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) 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 项目?非常感谢
我正在尝试让这个 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) 在开发环境中是否可以使用 https 运行 SvelteKit 应用程序?\n我尝试运行
\nnpm run dev -- --https \nRun Code Online (Sandbox Code Playgroud)\nvite启动服务器成功:
\nVITE v3.0.2 ready in 359 ms\n\n \xe2\x9e\x9c Local: https://localhost:5173/\n \xe2\x9e\x9c Network: [...] \nRun Code Online (Sandbox Code Playgroud)\n但我无法连接到 https://localhost:5173\nchrome 说:ERR_SSL_VERSION_OR_CIPHER_MISMATCH
\n我还尝试编辑 vite.config.js 添加我的证书:
\nhttps: {\n key: readFileSync( `${__dirname}/../server/key.pem`),\n cert: readFileSync(`${__dirname}/../server/cert.pem`),\n}\nRun Code Online (Sandbox Code Playgroud)\n我还尝试在这篇文章之后使用 mkcert() :
\n\n但它会导致同样的错误
\n然后我尝试使用 mkcert 作为插件:
\nconst config = {\n \n server: { \n https: true\n },\n\n plugins: [sveltekit(), mkcert()],\n\n}; \nRun Code Online (Sandbox Code Playgroud)\n这次,在第一次加载时,它似乎可以工作,但是使用 SvelteKit goto() 加载其他页面会导致以下不同的错误:
\nTypeError …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 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)
引用它们的新方式是什么?
本.
如果我在 /routes 有一个主布局“+layout.svelte”,然后尝试在 /routes/auth/login 重置布局,它不起作用。
因为svelte/kit的默认配置是vite。我认为他们改变了它,但我不知道该怎么做。
我在文档中只能找到有关重置布局的内容。
位于:kit.svelte.dev/docs/advanced-routing#advanced-layouts-layout
sveltekit ×10
svelte ×6
javascript ×2
vite ×2
endpoint ×1
fetch-api ×1
frameworks ×1
localhost ×1
monorepo ×1
session ×1
sigma.js ×1
turborepo ×1
typescript ×1
webstorm ×1