Angular 5 - 将本地文件的原始数据加载到变量

时间:2018-01-09 23:09:45

标签: angular typescript angular5

对于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/中并通过Angular的HTTP客户端加载它,但我更喜欢将文件保存在我的服务文件夹中,因为它只是有意义。

提前感谢您的帮助。

0 个答案:

没有答案