Я хочу использовать TypeScript в среде NodeJS. Поскольку я абсолютно новичок в TypeScript, я не уверен, как правильно расширять классы с помощью системы модулей NodeJS.
Я хочу расширить свой класс Champion
с помощью GameObject
.
GameObject.ts
///<reference path="../../typings/node/node.d.ts"/>
class GameObject {
id:number;
name:string;
}
module.exports = GameObject;
Чемпион.тс
///<reference path="../../typings/node/node.d.ts"/>
///<reference path="Image.ts"/>
///<reference path="GameObject.ts"/>
class Champion extends GameObject {
// ...
}
module.exports = Champion;
Пока это не вызывает ошибок компиляции.
Теперь я хочу создать экземпляр моего чемпиона. Это то, что я пробовал
// I tried referencing the Champion.ts which haven't changed anything
var Champion = require('../api/types/Champion');
var c = new Champion();
Мой Champion.js
теперь выдает следующую ошибку:
ReferenceError: GameObject не определен
Поэтому я подумал, что мне нужно require('GameObject')
в Champion.ts
, чтобы запустить мое приложение. Но я получаю другую ошибку.
Либо я ссылаюсь и require
мой GameObject
///<reference path="GameObject.ts"/>
var GameObject = require('./GameObject');
class Champion extends GameObject {
Что дает мне ошибку
Повторяющийся идентификатор GameObject
Или я просто require
и получаю
Тип any не является типом функции-конструктора
Версия TypeScript
$ tsc -v
message TS6029: Version 1.6.2