2016-03-13 66 views
1

試圖包含薩克斯解析器並陷入困境[parser.ts]。如何使用打字稿將薩克斯解析器導入到angular2

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" 
] 

最後安裝的分型,艾薩克斯使用這樣的代碼在他的例子

tag.parent 
tag.children 

這不支持鍵入(d.ts)。

有沒有人有TS和ng2薩克斯工作安裝?

+0

的代碼看起來很好,也許有與您配置的方式錯誤SystemJS? – toskv

回答

1

您有錯誤是在運行時。所以,我認爲你可以嘗試配置SystemJS這樣:

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

這樣你就可以導入薩克斯:

import {SAXParser} from 'sax';