Angular 5 - загрузить необработанные данные локального файла в переменную

Довольно новичок в Angular/TypeScript, извините, если это очевидно.

Используя Angular 5, я создаю сервис, в котором одна из конечных точек должна возвращать локально сохраненный файл данных «как есть».

Допустим, эта служба называется my-service. Таким образом, служебный файл — my-service.service.ts, а локальный файл данных (в той же папке) — my-service.service.data, который содержит данные в виде текста (формат не имеет значения).

То, что я хотел бы сделать, это иметь этот метод обслуживания:

getData(): Observable<string> {
    return of(data);
}

где data будет просто текстовым содержимым my-service.service.data в виде строки.

Потенциальное решение, которое я нашел (из https://stackoverflow.com/a/36661720/965834), выглядит следующим образом:

declare module '*.data' {
    const content: string;
    export default content;
}

который затем будет использоваться следующим образом:

import * as data from 'my-service.service.data';

но инструкция declare module, похоже, нигде не работает в проекте Angular 5 (включая main.js) и всегда выдает:

ошибка TS2664: Недопустимое имя модуля в расширении, модуль «*.data» не найден.

(Тот же код, кажется, работает в простом файле .ts в неугловом проекте.)

Теперь я мог бы сохранить файл в assets/ и загрузить его через HTTP-клиент Angular, но я бы предпочел сохранить файл в своей служебной папке, так как имеет смысл иметь его там.

Заранее спасибо за помощь.


person Jeto    schedule 09.01.2018    source источник