与Meteorjs v4.2释放并寻求V5的Apollo集成
#javascript #meteorjs #graphql #apollo

4月19日看到了MeteOrjs的Apollo GraphQL集成的新版本。此Meteorjs软件包将流星的帐户系统与Apollo集成在一起,并让您访问GraphQl上下文中当前登录的用户。

在您的解析器中看起来像这样:

upcomingEventsNum: async (
  { _id, type, ownerId }: Blog,
  _: unknown,
  { user }: ResolverContext
) => {
  if (!user) throw new Error('notLoggedIn')
}

v4.2.0是一个小型更新,可以看到最新的Apollo客户端(v3.7.12)的更新,并更新了在GitHub上运行的测试。

这使我们谈论V5。由于Apollo客户端包含在Meteorjs软件包中,因此在发布新的Apollo软件包时,该软件包使该软件包安静且需要更新。由于在大多数情况下,无论在使用Apollo时,Apollo客户端NPM软件包(@apollo/client)在MeteOrjs应用中都安装了,因此apollo软件包中的包含变得多余,并且是NPM已包含的内容。

当您尝试缩小捆绑尺寸时,这将成为一个问题,因为您突然在捆绑包中有两个@apollo/client实例。

按照blazejs中的jQuery的示例(在blaze中删除了jQuery,您必须作为同伴依赖性安装)现在,建议是从apollo meteorjs软件包中删除Apollo客户端,并允许您安装和管理Apollo客户端NPM软件包独立作为同行依赖。
通过删除重复的Apollo客户端并允许您跟上Apollo客户端的最新版本,至少要直到Meteor的Apollo软件包的需求更改更改。

,这使您可以删除客户捆绑。

预计该提案将合并并发布为流星的阿波罗软件包的5版。随时为V5提供有关PR的反馈。

如果您想为此主要软件包升级做准备,则只需要将Apollo客户端添加到您的应用程序(尽管您已经有机会)。

meteor npm i --save @apollo/client

那么,您只需要等待V5的发布并在时间到来后升级到它!


如果您喜欢我的工作,请在GitHub Sponsors ❤️上支持我。