Javascript社区是否有依赖检索(如maven或gem)?

Pat*_*Pat 6 javascript gem jquery maven google-closure

Java有mavenivy从各种公共存储库中检索依赖的jar.

Ruby有更好的依赖检索工具:gem和bundle.

Javascript社区是否有任何等效的工具?我找到了许多工具来管理动态加载依赖项到浏览器中.我不是在寻找那些工具.

具体来说,我正在寻找一个新开发人员用来检索他们需要的javascript文件的工具.开发人员运行此工具并:

  1. 它查看项目依赖关系描述文件
  2. 发现该项目需要jquery-ui-1.8.7,tiny_mce-3.4.3.2和prettyLoader-1.0.1
  3. 从网上检索jquery-ui-1.8.7.min.js,prettyLoader-1.0.1.js,tiny_mce-3.4.3.2
  4. 将.js和.css安装到本地存储库中
  5. 意识到jquery-ui依赖于jquery-1.6.1并下载/安装jquery
  6. 确定tiny_mce需要jquery插件,并下载并安装它.

毕竟,开发人员拥有所需的所有js/css文件的本地副本.

如果出现新的tiny_mce或jquery,则更新项目文件,开发人员只返回该工具并获取所有新文件.

如果未指定任何版本的js库,则会检索最新版本的版本.


我刚刚描述的是maven/ivy/gem在java/ruby​​空间中的作用.

显然,我可以用maven为我自己的需求提供一些东西,但是javascript社区有没有现成的东西?

更新:

NPM被Raynos提及.Npm以node.js为中心(没关系).但是,公共存储库中的已发布库有限且元数据有限(简单发现时缺少版本,作者,项目URL).

但是,看起来npm是今天的解决方案.不幸的是,对我们来说这还不够,但这就是生活.

我真的很惊讶jquery或google-closure没有项目管理工具.(告诉我,如果我错了!)

更新:现在流星已经与陨石一起访问和更新大气库.太棒了.

Fra*_*ois 5

看起来twitter正在提供一个答案:

比照 https://github.com/twitter/bower#readme

Bower(使用Node和npm)是Web的包管理器.Bower可让您轻松安装图像,CSS和JavaScript等资源,并为您管理依赖项.

Bower是一个通用工具,它将解析依赖关系并将包锁定到版本.它运行在Git上,并且与包无关.包可能包含JavaScript,CSS,图像等,并且不依赖于任何特定的传输(AMD,CommonJS等).

然后Bower提供了一个简单的编程API,它公开了包依赖模型,因此现有的构建工具(如Sprockets,LoadBuilder,curls.js,Ender等)可以使用它并相应地构建文件.


Ray*_*nos 3

这取决于您的服务器端堆栈。服务器端堆栈的大多数依赖项/包管理器也处理基于 javascript 的依赖项。

npm是node.js 依赖管理器。它很受欢迎。

它基于 CommonJS package.json格式。

有一些动作可以将其移植到客户端,例如:

你实际上无法单独使用 JavaScript 来做到这一点,因为它没有 IO。甚至 ender 的命令行工具也依赖于安装的 npm。您应该只使用服务器端堆栈附带的任何工具