草庐IT

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

coder 2024-12-11 原文

Java 有 mavenivy从各种公共(public)存储库中检索依赖的 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是雷诺斯提到的。 Npm 以 node.js 为中心(这没问题)。但是,公共(public)存储库中已发布的库和元数据有限(容易发现缺少版本、作者、项目 url)。

但是,现在看来 npm 是解决方案。不幸的是,这对我们来说还不够,但这就是生活。

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

更新:现在meteor与陨石一起访问和更新大气库。太棒了。

最佳答案

twitter 似乎提供了一个答案:

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

Bower(使用 Node 和 npm)是一个网络包管理器。 Bower 让您可以轻松安装图像、CSS 和 JavaScript 等 Assets ,并为您管理依赖项。

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

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

关于javascript - Javascript 社区是否有依赖项检索(如 maven 或 gem)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6849440/

有关javascript - Javascript 社区是否有依赖项检索(如 maven 或 gem)?的更多相关文章

  1. ruby-on-rails - 如何验证 update_all 是否实际在 Rails 中更新 - 2

    给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru

  2. ruby - 具有身份验证的私有(private) Ruby Gem 服务器 - 2

    我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..

  3. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  4. ruby - 通过 rvm 升级 ruby​​gems 的问题 - 2

    尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub

  5. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  6. ruby - 检查数组是否在增加 - 2

    这个问题在这里已经有了答案:Checktoseeifanarrayisalreadysorted?(8个答案)关闭9年前。我只是想知道是否有办法检查数组是否在增加?这是我的解决方案,但我正在寻找更漂亮的方法:n=-1@arr.flatten.each{|e|returnfalseife

  7. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  8. ruby-on-rails - 在 ruby​​ .gemspec 文件中,如何指定依赖项的多个版本? - 2

    我正在尝试修改当前依赖于定义为activeresource的gem:s.add_dependency"activeresource","~>3.0"为了让gem与Rails4一起工作,我需要扩展依赖关系以与activeresource的版本3或4一起工作。我不想简单地添加以下内容,因为它可能会在以后引起问题:s.add_dependency"activeresource",">=3.0"有没有办法指定可接受版本的列表?~>3.0还是~>4.0? 最佳答案 根据thedocumentation,如果你想要3到4之间的所有版本,你可以这

  9. ruby - RuntimeError(自动加载常量 Apps 多线程时检测到循环依赖 - 2

    我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("

  10. ruby - 检查字符串是否包含散列中的任何键并返回它包含的键的值 - 2

    我有一个包含多个键的散列和一个字符串,该字符串不包含散列中的任何键或包含一个键。h={"k1"=>"v1","k2"=>"v2","k3"=>"v3"}s="thisisanexamplestringthatmightoccurwithakeysomewhereinthestringk1(withspecialcharacterslike(^&*$#@!^&&*))"检查s是否包含h中的任何键的最佳方法是什么,如果包含,则返回它包含的键的值?例如,对于上面的h和s的例子,输出应该是v1。编辑:只有字符串是用户定义的。哈希将始终相同。 最佳答案

随机推荐