Meteor 如果我在package.js中使用api.imple,我是否必须对同一个包使用api.use?

Meteor 如果我在package.js中使用api.imple,我是否必须对同一个包使用api.use?,meteor,packages,Meteor,Packages,构建meteor软件包时,您可以添加如下文件: api.use('fourseven:scss@0.9.4', ['client', 'server']); 您还可以告诉meteor让包用户访问其他包,如下所示: api.imply('fourseven:scss@0.9.4', ['client', 'server']); 在文档中,不清楚暗示一个包是否也可以使用它。例如,我不确定这样做是否多余: api.use('fourseven:scss@0.9.4', ['client', 'se

构建meteor软件包时,您可以添加如下文件:

api.use('fourseven:scss@0.9.4', ['client', 'server']);
您还可以告诉meteor让包用户访问其他包,如下所示:

api.imply('fourseven:scss@0.9.4', ['client', 'server']);
在文档中,不清楚暗示一个包是否也可以使用它。例如,我不确定这样做是否多余:

api.use('fourseven:scss@0.9.4', ['client', 'server']);
api.imply('fourseven:scss@0.9.4', ['client', 'server']);

我刚刚用我的几个软件包测试了这个用例,我可以断言,暗示一个软件包不会使它在软件包源代码中自动可用

这意味着

api.use("foo:bar@x.y.z");
api.imply("foo:bar@x.y.z");
如果您打算在当前软件包源中使用和引用
foo:bar
,则不冗余

您可以将
api.implient
视为
api。对对当前包上下文没有影响的应用程序上下文使用

我听说在将来的某个时候,他们计划为应用程序上下文集成一个类似API的包,这将有助于解决加载顺序等问题。

Meteor 1.3(撰写本文时为beta版)中的“应用程序上下文类似API的包”现在是NPM包。现在,您可以
npm在应用程序根目录中安装
任何内容,并
require()
将任何内容导入应用程序代码中。通过新的
模块
软件包,您可以使用此机制控制加载顺序。