流星中的包类范围



我在编写软件包时遇到了一些问题,也许有人可以提供帮助。我正在尝试包含新的 npm 模块并将它们添加到 Meteor 类中。

例如,在我的包裹中.js我已经声明:

mongoose = require('mongoose');

这工作正常,我可以控制台记录它并显示对象。但是Package.on_use(里面我不能使用 Meteor 类:Meteor is not defined - 我什至在使用 Meteor 类之前尝试使用启动包,没有看。

在包含的js文件中使用: api.add_file我无法获得猫鼬类:mongoose is not defined

解决方案似乎是在add_file文件中使用:

var require = __meteor_bootstrap__.require;

这样我就可以在那里使用要求。


编辑:这实际上并不能解决所有用例,因为它只运行服务器端,所以要么我需要一个同时适用于客户端和服务器端的解决方案,要么需要一种在包文件夹中声明需求并以某种方式使用其返回值的方法。