Meteor api.IMPLE的作用是什么?

Meteor api.IMPLE的作用是什么?,meteor,Meteor,从: 允许此包的用户访问另一个包(通过传递字符串packagename)或包集合(通过传递字符串数组[packagename1,packagename2]) 我不知道这是什么意思。 据我所知,imple可以与use一起使用 api.意味着什么? api.use和api.imple之间到底有什么区别?如果你的应用程序中有一些东西使用了package:name中的api,你只安装了packagepackage:dependent作为依赖项,但你没有在这里使用implient,来自package:na

从:

允许此包的用户访问另一个包(通过传递字符串
packagename
)或包集合(通过传递字符串数组
[packagename1,packagename2]

我不知道这是什么意思。
据我所知,
imple
可以与
use
一起使用

api.意味着什么?

api.use
api.imple
之间到底有什么区别?

如果你的应用程序中有一些东西使用了
package:name
中的api,你只安装了package
package:dependent
作为依赖项,但你没有在这里使用
implient
,来自
package:name
的api在应用程序中不起作用。它仅在
程序包:依赖的
程序包中工作。如果您想使用
包:名称
之外的
包:从属


我不知道这是否清楚;)

api.use
允许软件包访问其他软件包导出的符号

例如,如果要在包代码()中使用
random
符号,则需要使用
api.use(“random”)
()

但是,
meteor add
ing
accounts base
不会让您的整个应用程序访问其使用过的软件包(在本例中为
random
)。如果你的应用程序需要
random
,你仍然需要
meteor添加它


api.imple
另一方面,允许整个应用程序访问该包导出的符号

例如

,当您添加帐户时,google不仅会在您的应用程序依赖项中添加帐户库,而且还会在应用程序中提供帐户库符号,特别是因为它是隐含的


accounts base
在其自身代码中使用
accounts
api.use
),并将其依赖项符号导出到整个应用程序中(
api.imple

api.implie
可用于生成“影子包”,这些包只是拉入一些其他包

例如,在某个时候,MDG将
决战
包重命名为
减价
,他们可以只声明
流星移除决战和流星添加减价
,但这需要对最终用户采取一些行动


他们所做的只是保留了
摊牌包,只是。

我还是不明白。我必须使用
暗示
才能让第一个包的API在整个应用程序中工作?如果我使用
implie
它将在任何地方导出此API?它将安装
package:name
,您将能够在应用程序中的任何地方使用它。就像运行meteor add package:name
时一样,我假设
api.export
总是导出到完整的项目中!实际上,它用于导出对象,然后可以通过多种方式导入对象:导入整个项目(
meteor add
),导入包的范围(
api.use
),或者两者都导入(
api.implie
)。谢谢你的见解!此概念基本上与NPM包中的重新导出相同,例如,在ES6中:
export{Foo}来自“other package”
或在CommonJS中:
exports.Foo=require('other-package').Foo
。Meteor 1.3现在支持现成的NPM模块,只需在应用程序的根目录中安装
NPM
,然后
require().也许我误解了这一点,但我并不真正理解meteor添加一个包和api之间的区别。meteor添加一个包使其显式列出/定义。暗示它。看起来它们本质上做了相同的事情,但是这个api.implie意味着现在您可能有一堆很难找到/维护的可用包,因为它们散落在各种各样的包定义中。我说的对吗?如果是的话,它比meteor add有什么优势?