Я видел много сервисов в машинописи, которые используют getter и возвращают тип пакетов, таких как fs или path. Мне не удалось проанализировать, какова реальная стоимость, вместо того, чтобы просто импортировать fs, например, в других сервисах.
Например, сервис выглядит так:
import * as fs from 'fs';
import * as path from 'path';
export class UtilsService {
private _fs: typeof fs;
private _path: typeof path;
constructor() {}
get path(): typeof path {
return this._path || (this._path = require('path'));
}
get fs(): typeof fs {
return this._fs || (this._fs = require('fs'));
}
}
Я понимаю, что это будет предотвратить повторный импорт пакета в других службах, но зачем использовать такой метод getter, если я импортирую пакет, я также получу тип.