可以在 Meteor 中使用 node.js 包作为此处描述 https://stackoverflow.com/questions/11691513/it-possible-use-a-nodejs-package-inside-meteor-app,但是作为require
未全局定义,具有传递依赖项的包(例如 xml2js 或 aws-lib)会中断
ReferenceError: require is not defined
关于如何在不更改库的情况下解决或解决此问题的任何想法?
我按照你的指示进行了操作链接问题 https://stackoverflow.com/questions/11691513/it-possible-use-a-nodejs-package-inside-meteor-app。我使用 node-xml2js 库来测试这一点从代码库测试夹具 https://github.com/Leonidas-from-XIV/node-xml2js/blob/master/test/fixtures/sample.xml并通过以下方式实现了它。
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 函数。当 Meteor 加载服务器资源时,它也会加载require
并解决了传递依赖的问题。我没有对 node-xml2js 库进行任何更改。
希望这可以帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)