如何使用与Meteor有传递依赖关系的node.js库?

可以在Meteor中使用node.js包,但是因为require不是全局定义的,所以具有传递依赖性的包(例如xml2js或aws-lib)会与

ReferenceError: require is not defined有关如何解决或解决此问题而不更改库的任何想法?

我遵循你的链接问题的指示。 我使用node-xml2js库来testing代码库中的testing夹具,并通过以下方式实现它。

 Meteor.startup(function () { // This solves the issue var require = __meteor_bootstrap__.require; // The example from node-xml2js readme var fs = require('fs'), xml2js = require('xml2js'); var parser = new xml2js.Parser(); fs.readFile('/home/prashant/order.xml', 'utf8', function(err, data) { parser.parseString(data, function (err, result) { console.log(result); console.log('Done'); }); }); }); 

我认为关键是定义一个variablesrequire并将其分配给Meteor的require函数。 当meteor加载服务器资产时,它也加载require并解决传递依赖的问题。 我没有更改node-xml2js库。

希望这可以帮助!

在最新版本的meteor(0.6.3,推测起),你需要使用Npm.require()而不是require()本身。