我试图在Angular 2(带有TypeScript的RC 1)webapplication中使用xml2js作为XML解析器。但是我只会遇到一些错误而且没有工作解决方案。
以下是我一步一步做的事情:
npm install xml2js
tsd install xml2js
<script src="../node_modules/xml2js/lib/xml2js.js"></script>
'xml2js': '../node_modules/xml2js'
添加到地图并将'xml2js': { defaultExtension: 'js' }
添加到包import {Parser} from 'xml2js';
var parser = new Parser();
var xml = "<root>Hello xml2js!</root>"
parser.parseString(xml, function (err, result) {
console.dir(result);
});
这是浏览器控制台在打开包含该组件的网页时告诉我的内容:
module.js:440未捕获错误:找不到模块'sax'
和
GET file:/// C:/ xxx / source / node_modules / xml2js net :: ERR_FILE_NOT_FOUND
以及
index.html:17错误:错误:加载文件时出现XHR错误:/// C:/ xxx / source / node_modules / xml2js
将文件:/// C:/ xxx / source / node_modules / xml2js加载为“xml2js”时出错
在ZoneDelegate.invokeTask(file:/// C:/xxx/source/node_modules/zone.js/dist/zone.js:356:38)
在Zone.runTask(file:/// C:/xxx/source/node_modules/zone.js/dist/zone.js:256:48)
在XMLHttpRequest.ZoneTask.invoke(file:/// C:/xxx/source/node_modules/zone.js/dist/zone.js:423:34)
从file:/// C:/xxx/source/frontend/angular/components/mycomponent/mycomponent.js
“sax”位于node_modules/xml2js/node_modules/sax
,通过npm安装。
我错过了什么安装外部库?是否有一种“更好”的方式来使用Angular 2&amp; 2的外部JS库。打字稿?
答案 0 :(得分:2)
是的,还有更好的方法。
您可以使用System.set('xml2js', System.newModule(require('xml2js')))
在systemjs中加载本地xml2js模块。