2012-08-16 65 views

回答

5

我按照linked question的指示操作。我使用node-xml2js库以test fixture from the code base进行测试,并通过以下方式实现。

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'); 
     }); 
    }); 
}); 

我认为,关键是要定义一个变量require并将其分配给流星的需要的功能。当Meteor加载服务器资产时,它也会加载require并解决传递依赖关系的问题。我没有更改node-xml2js库。

希望这会有所帮助!

+0

也看看这里:http://stackoverflow.com/questions/10587964/where-do-we-put-node-modules-we-install-by-npm-in-a-meteor-project – Joscha 2012-08-29 06:31:39

3

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