【发布时间】:2015-02-10 01:41:45
【问题描述】:
我知道 Meteor 完全是关于包的——毕竟,Meteor 真的只是包的集合。
我知道有些包是专门为 Meteor 创建的,比如 Iron Router,这可以为我们从头开始重新创建路由器节省大量精力!
但是,有些软件包我根本看不到目的。例如,我不明白为什么需要jQuery package,如suggested to be recommended way 才能在Meteor 中安装jQuery。经过仔细检查,它只是打包了一个自定义的 jQuery 文件。为什么不能简单的下载 jQuery 并将其添加到/client/lib/ 目录?
这不是唯一的例子——modernizr、jQuery Block UI
tl;dr
请从概念上向我解释在包中使用简单的单文件库(例如 jQuery)而不是独立文件
【问题讨论】:
-
通过Geoff-Schmidt阅读this comment。他清楚地解释了为什么流星需要自己的包装系统。
-
我浏览了评论,特别是“资产构建和捆绑”部分。我明白为什么它需要一个包装系统,上帝是的!但是像 jQuery 库这样的简单资产肯定可以作为一个简单文件插入(并像任何常规 .js 文件一样捆绑)? “包系统需要与 Meteor 的资产构建/捆绑系统很好地集成”
-
在少数库中,作者没有做任何特定于流星的事情,您可以直接包含 js 和 css 文件。对于这样的库,这完全取决于您的偏好以及流星包的活跃程度。我更喜欢使用流星包,因为您可以运行
meteor update --packages-only来更新您包含的每个包,但是对于那些您没有其他选择然后添加本机 js 文件的人来说,有些包是不活动的。 -
是的,你几乎解决了我所有的顾虑。我看到很多包只有一个文件的过时版本的库。我的意思是,我宁愿自己定期检查库是否过时,也不愿安装一个包并依靠维护者来保持更新。但正如你所说,这是我的偏好。谢谢你的澄清!
标签: javascript meteor package