正在玩 Ts 并陷入困境
"use strict";
declare const require: any;
const EventEmitter : any = require('events').EventEmitter;
class Foo extends EventEmitter{ //*error* Type 'any' is not a constructor function type.
constructor() {
super();
}
}
我还尝试将 EventEmitter
分配给我的接口(interface)类型,这给出了相同的错误。
如何使用 Typescript 使用 commonjs 模块扩展类?
谢谢
最佳答案
尝试
"use strict";
import { EventEmitter } from 'events';
class Foo extends EventEmitter {
constructor() {
super();
}
}
您可能需要安装“事件”模块的类型定义:
npm install --save @types/node
更新
您仍然可以使用 require
执行相同的操作:
"use strict";
import events = require('events');
const EventEmitter = events.EventEmitter;
class Foo extends EventEmitter {
constructor() {
super();
}
}
一般情况下,您应该避免使用 : any
,这样您就可以使用 IntelliSense 和编译时类型检查等功能
关于inheritance - Typescript commonjs 继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42433213/