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

时间:2014-09-01 14:18:54

标签: meteor packages

当构建流星包时,您可以添加如下文件:

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']);

1 个答案:

答案 0 :(得分:4)

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

所以这意味着

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

不是多余的。

对于对当前包上下文没有影响的应用上下文,您可以将api.imply视为api.use

我听说未来一段时间他们计划为应用程序上下文集成类似于包的API,这对于解决其他方面的加载顺序非常有用。