SvelteKit:“错误:request.query 已被 request.url.searchParams 替换”

Clu*_*ndo 4 npm svelte sveltekit

我想在 MacOs 11.5.2 上尝试 SvelteKit。使用节点 v16.13.1、npm 8.1.2。

我已经按照原始指南安装了 SvelteKit:

npm init svelte@next my-app
cd my-app
npm install
npm run dev -- --open

Run Code Online (Sandbox Code Playgroud)

然后,当 localhost:3000 打开时,我收到此错误:

**Error: request.query has been replaced by request.url.searchParams**
    at Object.get (file:///Web/Svelte_30-12-21/my-app/node_modules/@sveltejs/kit/dist/ssr.js:1753:12)
    at Object.handle (/Web/Svelte_30-12-21/my-app/src/hooks.ts:10:30)
    at respond (file:///Web/Svelte_30-12-21/my-app/node_modules/@sveltejs/kit/dist/ssr.js:1764:30)
    at svelteKitMiddleware (file:///Web/Svelte_30-12-21/my-app/node_modules/@sveltejs/kit/dist/chunks/index.js:4577:28)
Run Code Online (Sandbox Code Playgroud)

可能是什么问题呢?

kle*_*uis 6

我遇到了同样的问题。src/hooks.js替换中

const method = request.query.get('_method');

const method = request.method;

如果您正在使用npm init svelte@next my-app并使用演示应用程序,您也会遇到Header.svelte.

代替

<li class:active={$page.path === '/'}><a sveltekit:prefetch href="/">Home</a></li>
<li class:active={$page.path === '/about'}><a sveltekit:prefetch href="/about">About</a></li>
<li class:active={$page.path === '/todos'}><a sveltekit:prefetch href="/todos">Todos</a></li>
Run Code Online (Sandbox Code Playgroud)

<ul>
  <li class:active={$page.url.pathname === '/'}><a sveltekit:prefetch href="/">Home</a></li>
  <li class:active={$page.url.pathname === '/about'}>
   <a sveltekit:prefetch href="/about">About</a>
  </li>
  <li class:active={$page.url.pathname === '/todos'}>
    <a sveltekit:prefetch href="/todos">Todos</a>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)