简体   繁体   English

打字稿枚举扩展未定义的值

[英]typescript enum extend undefined value

I'm trying to extend an existing enum in typescript. 我正在尝试扩展打字稿中的现有枚举。 It's look like working when typing but value for extended enum member is undefined. 键入时看起来像在工作,但扩展枚举成员的值未定义。

I'm using node.js 8.0.0 with tsc 2.4.2 我正在使用带有tsc 2.4.2的node.js 8.0.0

--- ecategorytype.ts --- --- ecategorytype.ts-

export enum eCategoryType {
    generic = 'generic',

    resources = 'resources',
    friendGroup = 'friendGroup'
}

--- enumextend.ts --- --- enumextend.ts-

import eCategoryType from './ecategorytype';

declare module './ecategorytype' {
    export enum eCategoryType {
        classGroup = 'classGroup',
        testGroup = 'testGroup'
    }
}

--- usage --- -用法-

import eCategoryType from '../models/category/ecategorytype';
import '../models/category/enumextend';
console.log(eCategoryType.friendGroup);
console.log(eCategoryType.classGroup);
console.log(eCategoryType.testGroup);

--- enumextend.d.ts --- --- enumextend.d.ts-

declare module './ecategorytype' {
    enum eCategoryType {
        classGroup = "classGroup",
        testGroup = "testGroup",
    }
}
export {};

--- enumextend.js --- -enumextend.js-

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=typeext.js.map

--- expected console output ---- -预期的控制台输出----

friendGroup
testGroup
classGroup

--- reality console output --- -现实控制台输出-

friendGroup
undefined
undefined

What could be wrong please? 请问可能有什么问题吗?

You import is wrong: 您输入错误:

import eCategoryType from '../models/category/ecategorytype';

Should be: 应该:

import {eCategoryType} from '../models/category/ecategorytype';

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM