打字稿-命名空间问题未定义

时间:2020-10-18 08:44:57

标签: javascript typescript namespaces

这是我的客户班:

namespace Core {
    export class Client {}
}

然后我创建一个新对象,如下所示:

let client = new Core.Client();

但我收到此错误:

/dist/index.js:10
    let client = new Core.Client()
                 ^

ReferenceError: Core is not defined
    at Namespace.<anonymous> (/dist/index.js:10:18)
    at Namespace.emit (events.js:314:20)
    at Namespace.emit (/node_modules/socket.io/lib/namespace.js:213:10)
    at /node_modules/socket.io/lib/namespace.js:181:14
    at processTicksAndRejections (internal/process/task_queues.js:79:11)

出什么问题了?

1 个答案:

答案 0 :(得分:1)

您需要在index.ts中引用您的命名空间。因此,如果Client位于名为core.ts的文件中,则需要执行以下操作:

/// <reference path="core.ts" />
let client = new Core.Client();

您需要导出名称空间:

export namespace Core {
    export class Client {}
}

有关更多信息,请参见handbook