【问题标题】:bower installs several files. why and how can I change it?bower 安装了几个文件。为什么以及如何更改它?
【发布时间】:2013-04-21 08:57:50
【问题描述】:

我正在使用 bower 为我的项目安装依赖项(我知道有 yeoman 但我正在使用 bower)。设置 component.json 文件后,当我执行 bower install 时,它会将依赖项安装到正确的目录,但它也会安装许多其他不必要的文件。现在我希望 bower 安装所需的特定文件,例如 jquery.js, backbone.js and underscore.js,仅此而已。 如何使用 bower?

【问题讨论】:

  • 我同意,我不希望我的生产环境中到处都是不必要的文件。

标签: javascript jquery bower


【解决方案1】:

我最近wrote up a possible solution 解决了这个问题,并将重点介绍以下要点。

如果您知道要从特定包中获取特定文件,很容易告诉 bower 只获取该文件。例如,对于normalize.css,我唯一关心的文件是normalize.css。所以不要输入:

bower install --save normalize-css

我可以更具体一点,告诉 bower 只需下载 css 文件:

bower install --save https://raw.github.com/necolas/normalize.css/master/normalize.css

当然,当为您的项目调用bower install 时,它将始终从存储库的主分支中获取最新版本的规范化。但是,如果我想确保始终获得 3.0.0 版本的 normalize,那么我可以挖掘发布/历史以找到适当的 URL 和中提琴:

bower install --save http://necolas.github.io/normalize.css/3.0.0/normalize.css

【讨论】:

  • 也许这不会打扰其他任何人 - 但是,让 Bower 将大部分 GitHub 安装到您的服务器上的想法是谁的想法,其中大部分内容开发​​人员从未接触过,并且不提供干净的用于安装仅生产文件的 API?至少提供选项。
  • @tfmontague Bower 不会对您要下载的内容做出假设。每个包开发人员都可以创建一个干净的分支,而不是所有的绒毛。不幸的是,许多开发人员将所有额外的东西留在了 Bower 从中提取的同一个分支周围。
  • 好点,但您应该使用 jQuery 提供示例,这显然不起作用。当首先使用 bower 的目的是创建快速下载时,您怎么会知道完整的 url,我也可以从浏览器上的直接完整 url 中使用“另存为”。 Offfhh ...技术有时
【解决方案2】:

您可以查看bower-installer

bower list --path 通常会讲述包中的主 js 文件,bower-installer 方便地提取这些文件并将其仅导出到您的资产目录。然后,您可以改用此目录并忽略 bower_components 目录。

【讨论】:

    【解决方案3】:

    包作者可以使用ignore 属性指定要从包中排除的文件。现在只需在您的应用/网站中包含您想要的文件,而忽略其余部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-10
      • 2012-11-16
      • 2012-05-20
      相关资源
      最近更新 更多