引用包。地铁:萨克斯

时间:2015-10-25 16:36:43

标签: meteor

我安装了这样一个包:

meteor add mrt:sax

当我在MEAN堆栈上使用sax.js时,我已经像这样访问它了:

var sax = require("sax")
var parser = sax.parser(strict)

如何在Meteor中使用它?或者从Atmosphere安装的任何非标准包装?我在服务器上专门使用sax.js来解析从http调用到外部Web资源的xml。

我尝试了各种替代方案:

var parser = Meteor.sax.parser(strict)
var parser = Meteor.mrt_sax.parser(strict)
var sax = Npm.require("sax")
var sax = Npm.require("mrt_sax")

除此之外还有其他一些人。 我找不到初学者指南来访问已安装的软件包......

2 个答案:

答案 0 :(得分:0)

我找到了这个包的github存储库:github.com/praus/meteor-sax-js 它自2013年5月17日以来一直没有更新。我想它不适用于Meteor的最新版本。

您可以按discover meteor blog

中的说明包装npm包

答案 1 :(得分:0)

所以,我的工作就像这样。

删除了mrt:sax

meteor remove mrt:sax

已安装的meteorhacks:npm和sax

meteor add meteorhacks:npm
npm install sax

编辑我的packages.json

{'sax','1.1.4'}

这样访问萨克斯:

var sax = Meteor.npmRequire('sax'),
strict = true,
parser = sax.parser(strict),
...

解析器方法是异步的,所以称之为:

    var xmlParser = Async.wrap(Meteor.myFunctions.parsingXML); 
    var jsonResult = xmlParser(response.content);

其中response.content是从http GET请求返回的xml。