2016-06-13 49 views
1

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

import {name} from 'path/to'

我怎样才能知道哪些namepath通过类比用来导入这个库,例如,import {Injectable} from 'angular2/core'

是否需要将此库包含在index.html这样的情况下,为什么?

enter image description here

谢谢。

+0

为什么你需要为json解析?你可以做'JSON.parse(jsonstring)'。 – rinukkusu

+0

我有一个config.json外部文件与应用程序设置,我需要得到它的内容。在这个例子中,我想知道如何将任何新库导入到我的应用程序。 – Edward

回答

0

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

如果您使用的是Angular 2快速启动项目和Angular 2的Beta版本,那么配置可能在您的index.html中完成,而且在这一点上是最少的。你会发现,你想使用每个额外的NodeJS模块,你必须导入一个<script>标签。 (如果你走SystemJS config路线,情况并非如此)

所以当你在TypeScript文件中导入时,你的基路径通常是node_modules文件夹。如果要导入“本地”的文件,这些文件没有从node_modules文件夹中的模块,你做到这一点与

import {class} from './path/file'; 

关于你的JSON的问题 - 我会充分利用转角的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); 
    }); 
+0

我有一个解决方案http.get()[http://data3.floomby.com/files/share/13_6_2016/17/gx2kJ3aUBkSerivPGAVaHg.jpg](http://data3.floomby.com/files/share/13_6_2016 /17/gx2kJ3aUBkSerivPGAVaHg.jpg),但我想用rx.DOM.get()重写它; – Edward

+0

我真的不明白你期望从RxJs-DOM中走出来的亲。 – rinukkusu

+0

我想学习如何用Rx-DOM的例子将新库导入到Angular2中。 – Edward