如何在Angular2中导入新库?

时间:2016-06-13 14:40:06

标签: dom service import angular rxjs

我想使用RxJS-DOM库来解析文件中的json数据。将此库包含在Angular2应用程序中我遇到了一些困难。首先,我在NPM上安装了RxJS-DOM。我需要使用import表达式将此库导入我的服务文件。

import {name} from 'path/to'

我如何知道哪个name以及哪个path用于导入此库,例如import {Injectable} from 'angular2/core'

我是否需要在index.html这样包含此库以及为什么?

enter image description here

谢谢。

1 个答案:

答案 0 :(得分:0)

通常是SystemJS,它正在为您加载模块。您使用systemjs.config.js文件进行配置,或在index.html内联内嵌。在那里你告诉它从你的node_modules文件夹中加载包以及你想要注册它的名称等等。

如果您正在使用Angular 2 Quickstart项目和Angular 2的Beta版本,那么配置可能在您的index.html中进行,而在此处则相当简单。您会发现,您要使用的每个额外NodeJS模块都必须使用<script>标签导入。 (如果你走SystemJS config路线,情况并非如此)

当您在TypeScript文件中导入时,通常是node_modules文件夹的基本路径。如果你想导入&#34;本地&#34;不是node_modules文件夹中的模块的文件,您可以使用

执行此操作
import {class} from './path/file';

关于你的JSON问题 - 我会利用Angular的Http类来读取这样的JSON文件:

interface IConfig {
    thingEnabled: boolean;
    otherStuff: string;
}

[...]

this.http.get('./config.json')
    .map((res: Response) => res.json())
    .subscribe((res: IConfig) => {
        // do something with the already deserialized JSON here
        console.log(res.otherStuff);
    });