小编Kai*_*ger的帖子

在“.d.ts”中导出枚举会导致“无法解析”错误

enum昨天我在我们的文件中添加了一个app.d.ts,其中包含大多数全局应用程序特定类型。

\n

该文件大致如下所示:

\n
// app.d.ts\nexport module App\n{\n    // \xe2\x80\xa6 more definitions\n\n    enum MyEnum\n    {\n        A,\n        B,\n        C,\n        D\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

这本身编译得很好。现在,如果您尝试在不同的文件中使用所述枚举,如下所示:

\n
// a.ts\nimport {App} from "./app";\n\nlet something = App.MyEnum.A;\n
Run Code Online (Sandbox Code Playgroud)\n

TypeScript 抱怨它突然无法解析该文件app.d.ts

\n

TypeScript 编译错误

\n

经过大量调试和阅读文档后,我发现了以下免责声明

\n
\n

枚举是运行时存在的真实对象

\n
\n

因此,当MyEnumapp.d.ts它自己的MyEnum.ts文件移动并显式导出它时,它突然起作用了:

\n
// MyEnum.ts\nexport enum MyEnum\n{\n    A,\n    B,\n    C,\n    D\n}\n
Run Code Online (Sandbox Code Playgroud)\n
    \n
  • \n
\n
// a.ts\nimport {MyEnum} from "./MyEnum";\n\nlet something = MyEnum.A;\n
Run Code Online (Sandbox Code Playgroud)\n

所以现在我真正的问题是:这是因为 TypeScript …

typescript

9
推荐指数
1
解决办法
3915
查看次数

标签 统计

typescript ×1