包含NPM包的Meteor.js中的'require is not defined'
我正在尝试使用Meteor.js (版本0.6.6.3)使用Meteor.require
来使用npm包。 然而,它会抛出一个错误,说require
没有被定义。 为什么是这个,我们该如何解决呢?
mrt add npm npm install github
packages.json
{ "github": "0.1.8" }
github.js
var GITHUB = Meteor.require('github');
错误
ReferenceError: require is not defined
npm软件包有如
var https = require('https') var url = require('url') var crypto = require('crypto')
必须手动编辑软件包的代码才能使用Npm.require
? 手动编辑他们摆脱了错误。
然而,一条线:
module.exports = SOMETHING
我们应该如何从meteor内部调用module
?
Meteor.require
是meteor智能包中添加的一个函数,除了包装一些asynchronouscallback函数外,对于使用npm其实并没有多大的作用。 现在已经过了几个月了,所以你可能要直接尝试使用meteor的Npm.require
,以防万一发生了什么事情。
这个软件包的Meteor
全球猴子补丁是误导性的。
做出回答以上的评论。
Meteor.require()是一个错字吗? 这是你的代码是什么,虽然你的问题文本引用了正确的Npm.require()。
我认为module.exports是有相同的文件的非meteor使用。 meteor内的变数应该是出口的
- 在包内声明为全局variables
- 在package.js文件中用api.export()导出。
关于这个文档有点粗糙,但看看命名空间和编写包 。 同时在github上查看各种meteor包是非常有用的。
确保你使用的是meteor-npm
软件包。
在meteor中使用Npm.require()。
喜欢这个:
var fs = Npm.require("fs");
为此你需要有一个Meteor包: meteorhacks:npm
, npm-container