You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESLint报错SvelteKit的App命名空间未定义,如何解决?

解决ESLint报'App' is not defined错误的方法

在SvelteKit项目中,你已经在app.d.ts里全局声明了App命名空间,但ESLint仍触发no-undef错误,原因是ESLint未识别到这个全局类型定义。以下是几种有效的解决方式:

方法1:在ESLint配置中声明App为全局变量

修改项目的ESLint配置文件(如.eslintrc.cjs),在globals区块中添加App并标记为只读:

module.exports = {
  // 其他现有配置
  globals: {
    App: "readonly"
  }
};

方法2:在组件中添加类型引用注释

如果不想修改全局ESLint配置,可在使用App.Error的组件脚本顶部添加类型引用注释,指定app.d.ts的路径:

<script lang="ts">
/// <reference path="../app.d.ts" />
export let error: App.Error;
</script>

注意:路径需根据组件与app.d.ts的实际相对位置调整。

方法3:确保ESLint正确解析TypeScript类型定义

  1. 检查tsconfig.json的include数组,确认包含app.d.ts:
{
  "include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.ts", "src/**/*.svelte"]
}
  1. 在ESLint配置中启用TypeScript解析器,并关联你的tsconfig.json:
module.exports = {
  parser: "@typescript-eslint/parser",
  parserOptions: {
    tsconfigRootDir: __dirname,
    project: ["./tsconfig.json"]
  },
  // 其他现有配置
};

内容的提问来源于stack exchange,提问作者Kevin Renskers

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 07:32:56