【问题标题】:Meteor - Why do we need packages for single-file libraries?Meteor - 为什么我们需要单文件库的包?
【发布时间】:2015-02-10 01:41:45
【问题描述】:

我知道 Meteor 完全是关于包的——毕竟,Meteor 真的只是包的集合。

我知道有些包是专门为 Meteor 创建的,比如 Iron Router,这可以为我们从头开始重新创建路由器节省大量精力!

但是,有些软件包我根本看不到目的。例如,我不明白为什么需要jQuery package,如suggested to be recommended way 才能在Meteor 中安装jQuery。经过仔细检查,它只是打包了一个自定义的 jQuery 文件。为什么不能简单的下载 jQuery 并将其添加到/client/lib/ 目录?

这不是唯一的例子——modernizrjQuery Block UI

tl;dr
从概念上向我解释在包中使用简单的单文件库(例如 jQuery)而不是独立文件

【问题讨论】:

  • 通过Geoff-Schmidt阅读this comment。他清楚地解释了为什么流星需要自己的包装系统。
  • 我浏览了评论,特别是“资产构建和捆绑”部分。我明白为什么它需要一个包装系统,上帝是的!但是像 jQuery 库这样的简单资产肯定可以作为一个简单文件插入(并像任何常规 .js 文件一样捆绑)? “包系统需要与 Meteor 的资产构建/捆绑系统很好地集成”
  • 在少数库中,作者没有做任何特定于流星的事情,您可以直接包含 js 和 css 文件。对于这样的库,这完全取决于您的偏好以及流星包的活跃程度。我更喜欢使用流星包,因为您可以运行meteor update --packages-only 来更新您包含的每个包,但是对于那些您没有其他选择然后添加本机 js 文件的人来说,有些包是不活动的。
  • 是的,你几乎解决了我所有的顾虑。我看到很多包只有一个文件的过时版本的库。我的意思是,我宁愿自己定期检查库是否过时,也不愿安装一个包并依靠维护者来保持更新。但正如你所说,这是我的偏好。谢谢你的澄清!

标签: javascript meteor package


【解决方案1】:

如果软件包得到维护,您始终可以免费获得最新版本的库。

如果您使用两个使用相同库的不同包,则它们不需要包含自己的库副本。相反,他们使用提供库的包,Meteor 确保只加载库的一个实例,并且两个包都可以访问它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-24
    • 2019-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-24
    相关资源
    最近更新 更多