enum昨天我在我们的文件中添加了一个app.d.ts,其中包含大多数全局应用程序特定类型。
该文件大致如下所示:
\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}\nRun Code Online (Sandbox Code Playgroud)\n这本身编译得很好。现在,如果您尝试在不同的文件中使用所述枚举,如下所示:
\n// a.ts\nimport {App} from "./app";\n\nlet something = App.MyEnum.A;\nRun Code Online (Sandbox Code Playgroud)\nTypeScript 抱怨它突然无法解析该文件app.d.ts。
经过大量调试和阅读文档后,我发现了以下免责声明:
\n\n\n枚举是运行时存在的真实对象
\n
因此,当MyEnum从app.d.ts它自己的MyEnum.ts文件移动并显式导出它时,它突然起作用了:
// MyEnum.ts\nexport enum MyEnum\n{\n A,\n B,\n C,\n D\n}\nRun Code Online (Sandbox Code Playgroud)\n// a.ts\nimport {MyEnum} from "./MyEnum";\n\nlet something = MyEnum.A;\nRun Code Online (Sandbox Code Playgroud)\n所以现在我真正的问题是:这是因为 TypeScript …
typescript ×1