我正在尝试在不同的文件中扩展导入的枚举,并在另一个不同的文件中使用该扩展的枚举。
base.enum.ts
export enum MyEnum {
a = "Foo"
}
Run Code Online (Sandbox Code Playgroud)
扩展.enum.ts
import { MyEnum } from './base.enum';
declare module './base.enum' {
export enum MyEnum {
b = "Bar"
}
}
Run Code Online (Sandbox Code Playgroud)
在 index.ts 中使用
import { MyEnum } from './base.enum';
import './extended.enum'; // side-effects import (no usage of export)
console.log(MyEnum.a); // prints "Foo" as expected
console.log(MyEnum.b); // prints undefined, instead of the expected "Bar"
Run Code Online (Sandbox Code Playgroud)
(我在支持字符串值枚举的 TypeScript 2.4.2 中这样做)
我已经使用这个和这个SO 问题作为参考,并在 GitHub …