Довольно новичок в 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, но я бы предпочел сохранить файл в своей служебной папке, так как имеет смысл иметь его там.
Заранее спасибо за помощь.