У меня есть class
MyStore
, который содержит данные и состояние для моего JS-приложения. Я хочу получить один экземпляр при импорте этого класса в другие файлы (я использую внешние модули commonjs a.k.a).
Пример:
MyStore.ts
class MyStore extends BaseStore {
private _items;
getItems() { return _items; }
}
export = MyStore;
Другой файл.ts:
import MyStore = require('./MyStore');
MyStore.getItems();
это не работает, так как мне нужно создать MyStore в Otherfile.ts
Мое текущее решение состоит в том, чтобы иметь статический одноэлементный метод:
MyStore.ts:
private static _instance = new MyStore();
static getInstance(){ return this._instance;}
Другой файл.ts
import MyStore = require('./MyStore');
MyStore.getInstance().getItems();
Есть ли лучший способ?
Изменить: причина, по которой это класс Typescript, заключается в том, чтобы разрешить наследование (расширение базового класса)