svelte 包中缺少生命周期说明符。苗条套件

Two*_*Cat 5 typescript svelte sveltekit

我目前正在使用 svelte 的上下文 api 在我的应用程序中传递用户数据。突然我遇到了这个错误,在我能找到的任何地方几乎没有任何文档。错误信息如下。Missing "./types/runtime/internal/lifecycle" specifier in "svelte" package。从我还将发布的完整控制台输出来看,它来自这里的这个文件:

<script lang="ts">
    import { getContext } from 'svelte';
    import HtmlGenerator from './generate_html';
    import type { Field } from './generate_html';
    import { setContext } from 'svelte/types/runtime/internal/lifecycle';
    import { UserContext } from '../../context';

    setContext('UserContext', UserContext);

    const { is_logged_in, user } = getContext('UserContext');
</script>
Run Code Online (Sandbox Code Playgroud)

为了简单起见,我省略了不相关的代码。直到我尝试使用 context Api 时才开始收到此错误。这是完整的控制台输出:

Internal server error: Missing "./types/runtime/internal/lifecycle" specifier in "svelte" package
  Plugin: vite:import-analysis
  File: C:/javascript_projects/svelte_projects/reactable/src/routes/dashboard/form-builder/+page.svelte
      at e (file:///C:/javascript_projects/svelte_projects/reactable/node_modules/vite/dist/node/chunks/dep-24daf00c.js:16638:25)
      at n (file:///C:/javascript_projects/svelte_projects/reactable/node_modules/vite/dist/node/chunks/dep-24daf00c.js:16638:627)
      at o (file:///C:/javascript_projects/svelte_projects/reactable/node_modules/vite/dist/node/chunks/dep-24daf00c.js:16638:1297)
      at resolveExportsOrImports (file:///C:/javascript_projects/svelte_projects/reactable/node_modules/vite/dist/node/chunks/dep-24daf00c.js:23396:20)
      at resolveDeepImport (file:///C:/javascript_projects/svelte_projects/reactable/node_modules/vite/dist/node/chunks/dep-24daf00c.js:23415:31)
      at tryNodeResolve (file:///C:/javascript_projects/svelte_projects/reactable/node_modules/vite/dist/node/chunks/dep-24daf00c.js:23104:20)
      at Context.resolveId (file:///C:/javascript_projects/svelte_projects/reactable/node_modules/vite/dist/node/chunks/dep-24daf00c.js:22865:28)
      at Object.resolveId (file:///C:/javascript_projects/svelte_projects/reactable/node_modules/vite/dist/node/chunks/dep-24daf00c.js:42793:46)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async TransformContext.resolve (file:///C:/javascript_projects/svelte_projects/reactable/node_modules/vite/dist/node/chunks/dep-24daf00c.js:42521:23)
Error: Missing "./types/runtime/internal/lifecycle" specifier in "svelte" package
    at e (file:///C:/javascript_projects/svelte_projects/reactable/node_modules/vite/dist/node/chunks/dep-24daf00c.js:16638:25)
    at n (file:///C:/javascript_projects/svelte_projects/reactable/node_modules/vite/dist/node/chunks/dep-24daf00c.js:16638:627)
    at o (file:///C:/javascript_projects/svelte_projects/reactable/node_modules/vite/dist/node/chunks/dep-24daf00c.js:16638:1297)
    at resolveExportsOrImports (file:///C:/javascript_projects/svelte_projects/reactable/node_modules/vite/dist/node/chunks/dep-24daf00c.js:23396:20)
    at resolveDeepImport (file:///C:/javascript_projects/svelte_projects/reactable/node_modules/vite/dist/node/chunks/dep-24daf00c.js:23415:31)
    at tryNodeResolve (file:///C:/javascript_projects/svelte_projects/reactable/node_modules/vite/dist/node/chunks/dep-24daf00c.js:23104:20)
    at Context.resolveId (file:///C:/javascript_projects/svelte_projects/reactable/node_modules/vite/dist/node/chunks/dep-24daf00c.js:22865:28)
    at Object.resolveId (file:///C:/javascript_projects/svelte_projects/reactable/node_modules/vite/dist/node/chunks/dep-24daf00c.js:42793:46)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async TransformContext.resolve (file:///C:/javascript_projects/svelte_projects/reactable/node_modules/vite/dist/node/chunks/dep-24daf00c.js:42521:23)
Run Code Online (Sandbox Code Playgroud)

这段代码甚至可以在另一个项目中使用,我已经检查过我的配置文件都很好,而且看起来都很好。也许这个项目已损坏?

我尝试查看配置文件:一切似乎都很好。尝试关闭文件的打字稿:仍然没有。重新启动开发服务器:同样的问题。

Dog*_*ert 9

正确的导入路径setContext'svelte'

import { setContext } from 'svelte';
Run Code Online (Sandbox Code Playgroud)

VSCode 中的自动完成功能有时会出于某种原因从这些内部路径自动导入,这就是您可能最终得到该导入行的原因。