如何在 Meteor 包上获取 Meteor.users 集合?

How to get Meteor.users collection on a Meteor package?

我正在开发一个测试框架,我想在每个 运行.

重置所有集合

我在使用 Meteor.users 时遇到问题,因为它在包环境中未定义。

是否有任何解决方法可以从包中的清除Meteor.users集合?

你可以把一些 'reset logic' 放在用户集合上, Meteor.users.allow({ remove:function() { resetLogic(); });

请检查http://docs.meteor.com/#/full/allow以供参考

当涉及包中的符号可用性时,包加载顺序和导出变量很重要。

为了在包中获得 created 符号,它必须在您的包之前加载。这可以通过依赖它或 依赖 的其他包来实现。

此类符号的示例是添加到 Meteor 对象的方法,这就是您的情况。

api.use('some-package'); // some-package is the desired package or depends on it

为了得到一个包导出的符号,你应该直接依赖它,或者依赖一个隐含这个包的包(或者明确导出符号)。

api.use('some-package'); // some-package exports the symbol directly or by implying

如果您的包是唯一依赖它的包(即,有没有其他强烈依赖它的包,并且用户没有将它添加为顶级依赖。

api.use(['some-package'], ['client', 'server'], {weak: true});

如果您需要在所有包加载后执行某些操作,您可以使用 Meteor.startup():

Meteor.startup(function() {
  //do stuff after all packages and code were loaded
});