如何使用typescript将sax解析器导入angular2

时间:2016-03-13 14:38:37

标签: json typescript angular sax

尝试包含sax解析器并遇到困难[parser.ts]。

import sax = require("sax");
export class MyParser {
   //my parser code 
}

当我尝试使用它时[app.component.ts]:

import {MyParser} from './parser'
...
constructor(private http: Http, private parser: MyParser) {}

我收到此错误

Evaluating http://localhost:3000/sax

我知道这意味着SystemJS无法找到该模块。 Sax安装在node_modules中,并在package.json中列出。我已经使用

安装了打字机
typings install --ambient sax

但即使我的tsconfig.json被排除

,也会收到大量重复的标识符警告
"exclude": [
  "node_modules",
  "typings/main",
  "typings/main.d.ts"
]

最后,isaacs在他的例子中使用了这样的代码

 tag.parent
 tag.children

打字(d.ts)不支持此功能。

是否有人安装了带有TS和ng2的sax?

1 个答案:

答案 0 :(得分:1)

您遇到的错误是在运行时。所以我认为您可以尝试以这种方式配置SystemJS:

<script>
  System.config({
    paths: {
      sax: './node_modules/sax/lib/sax.js'
    }
  })
</script>

通过这种方式,您可以导入Sax:

import {SAXParser} from 'sax';