4

使用该$ bower init命令,我bower.json为我的包创建了一个并在 Bower 注册了它,没问题。

在查看了一些流行的 Bower 包(例如RequireJSModernizr )的 Github 主页后,我注意到他们的 repo 不包含 abower.json或 a component.json。这怎么可能?

我还注意到,当我下载任何 Bower 包时,该包包含一个.bower.json文件(注意开头的点),该文件包含的信息比我在$ bower init包期间被要求的信息多得多。例如,下面是.bower.json来自 Modernizr 的:

{
    "name": "modernizr",
    "homepage": "https://github.com/Modernizr/Modernizr",
    "version": "2.6.2",
    "_release": "2.6.2",
    "_resolution": {
        "type": "version",
        "tag": "v2.6.2",
        "commit": "ca45d02757b83367d8455d477e3cbc42dfdee035"
    },
    "_source": "git://github.com/Modernizr/Modernizr.git",
    "_target": "~2.6.2",
    "_direct": true
}

当我下载我新创建的包时,它只包含我最初签入 git 的相同信息。

是否有bower.json我应该使用的新格式?还是我只是在设置过程中遗漏了一些东西?

4

2 回答 2

6

Bower 不需要 abower.json或 acomponent.json来安装软件包。清单文件提供了一些有用的信息,比如依赖项、忽略的文件、版本等,但最后它只是下载 Git 提交并将它们放在某个地方。
在 Modernizr/Require.js 的情况下,有人刚刚注册了他们的 repos,而 Bower 正在检索一个标签。

关于.bower.json文件:这是由 Bower 在安装软件包后自己生成的。它包含有关包的一些更详细的信息,例如从中检索包的提交。

TL;DR:继续使用bower init,它会为您做正确的事!

于 2013-08-28T22:26:56.270 回答
2

我正在使用Yeoman,以下是我的bower.json文件内容。我想它可能会帮助你。(我已经安装了所有最新版本的 bower 和 grunt)

{
  "name": "yowebapp",
  "version": "0.0.0",
  "dependencies": {
    "sass-bootstrap": "~3.0",
    "requirejs": "~2.1.4",
    "modernizr": "~2.6.2",
    "jquery": "~1.9.1",
    "d3":"~3.3.2",
    "angular":"1.0.7"

  },
  "devDependencies": {}
}

我用bower install.

于 2013-08-28T03:08:21.323 回答