小编Sti*_*egi的帖子

Sveltekit + Typescript:环境变量构建错误

我想在我的 Sveltekit 应用程序中使用环境变量 - 它在开发服务器上运行良好,但我收到此构建错误:

Error: 'PUBLIC_KEY' is not exported by $env/static/public, imported by src/routes/+layout.svelte

所以 Svelte 有这个模块可以帮助处理 env 的东西:https ://kit.svelte.dev/docs/modules#$env-static-public

我有一个简单的 .env 文件,如下所示:

PUBLIC_KEY=123
Run Code Online (Sandbox Code Playgroud)

现在 IDE 会抛出与构建错误相同的类型错误,但我可以通过将其添加到我的types.d.ts文件中来修复该错误:

PUBLIC_KEY=123
Run Code Online (Sandbox Code Playgroud)

现在我的 IDE 中的类型错误消失了,为了进行测试,我只需将其添加到我的 +layout.svelte 文件中:

declare module '$env/static/public' {
    export const PUBLIC_KEY: string;
}
Run Code Online (Sandbox Code Playgroud)

内容 123 在开发服务器上呈现,因此它可以工作。但是,如果我运行npm run build,则会出现上面的错误。即使将一个放在@ts-ignore导入之上也没有帮助。所以我的问题是:我需要做什么才能让 TS 一起玩?

types typescript sveltekit

21
推荐指数
1
解决办法
8657
查看次数

导入类型时 Sveltekit Typescript 解析错误

我在一个全新的 Sveltekit 项目中有这个非常简单的组件:

<script context="module" lang="ts">
    import type { Load } from '@sveltejs/kit';
    export const load: Load = ({ url }) => {
    const company = url.searchParams.get('company');
    return {
      props: {
        company
      }
    };
  }
   
  </script>
<script type="ts">
        export let company: string;

</script>

<h1>{company}</h1>
Run Code Online (Sandbox Code Playgroud)

但是,我总是在导入行出现错误: 解析错误

当我在 VSCode 之外运行应用程序时也会发生这种情况,因此这不仅仅是 IDE 的问题。

我的package.json:

{
    "name": "testapp",
    "version": "0.0.1",
    "scripts": {
        "dev": "svelte-kit dev",
        "build": "svelte-kit build",
        "package": "svelte-kit package",
        "preview": "svelte-kit preview",
        "prepare": "svelte-kit sync",
        "check": "svelte-check --tsconfig ./tsconfig.json",
        "check:watch": "svelte-check --tsconfig …
Run Code Online (Sandbox Code Playgroud)

typescript sveltekit

3
推荐指数
1
解决办法
3510
查看次数

标签 统计

sveltekit ×2

typescript ×2

types ×1