bower initを実行するときの「メインファイル」プロパティとは何ですか?


106

bower initを実行するときのプロパティのメインファイルの用途は何ですか?私は探していましたが、多くの人が現在それは目的がないと言います。

本当?バウアーのドキュメントもそれを説明していません。


3
これに戸惑う人もいるようです。:この亭チュートリアルのライター例えばnet.tutsplus.com/tutorials/tools-and-tips/...
サイモン・ベングソン

mainプロパティの定義は現在疑わしく、バウアーgithubリポジトリの未解決の問題で議論されているようです。現在提案されている定義と議論については、こちらをご覧ください:github.com/bower/bower/issues/935
BenjaminGolder

回答:


60

Bower.ioのドキュメントによると

メイン

推奨タイプ:文字列または文字列の配列

パッケージを使用するために必要な主要な機能ファイル。Bowerはこれらのファイルを直接使用しませんが、これらのファイルはコマンドbower list --jsonおよびbower list --pathsとともにリストされるため、ビルドツールで使用できます。

CoffeeScriptのようなプリプロセッサフ​​ァイルをコンパイルする必要があります。縮小したファイルを含めないでください。ファイル名にバージョンを付けないでください(悪い:package.1.1.0.js;良い:package.js)。

パッケージの管理や、GruntやBrunchのようなビルドツールのほうがいいと思います。たとえば、Bootstrap bower.jsonは次のようになります。

{
  "name": "bootstrap",
  "version": "3.0.3",
  "main": [
    "./dist/css/bootstrap.css",
    "./dist/js/bootstrap.js",
    "./dist/fonts/glyphicons-halflings-regular.eot",
    "./dist/fonts/glyphicons-halflings-regular.svg",
    "./dist/fonts/glyphicons-halflings-regular.ttf",
    "./dist/fonts/glyphicons-halflings-regular.woff"
  ],
  "ignore": [
    "**/.*",
    "_config.yml",
    "CNAME",
    "composer.json",
    "CONTRIBUTING.md",
    "docs",
    "js/tests"
  ],
  "dependencies": {
    "jquery": ">= 1.9.0"
  }
}

Brunchでビルドすると、これらのファイルが自分のbower_componentsフォルダー内の自分のpublicフォルダーからプルされます。


「ドキュメント」とは?
0xcaff 2014

5
これは実際には質問の答えにはなりません。ドキュメントでは、「パッケージの主要なエンドポイント」の役割が明確にされていません。あなたはメインとブランチの関連性を述べましたが、それがバウアーとどのように関連しているかは述べていません。
BenjaminGolder

私が作ろうとしていた点は、「これらのファイルは、私のbowerパッケージが配布するつもりである」という点で、いくつかのビルドツールで利用されているということです。それはそれが本当の意図であることにはまだ少しあいまいです。
ケリーJアンドリュース

ドキュメントリンクのアンカーが機能していません。更新については、@ Vivian Spencerの回答を参照してください。
Timothy Gu

9

BowerのJSON仕様(https://github.com/bower/spec/blob/master/json.md#main)によれば、「main」プロパティは、プロジェクトで主に使用されるファイルをリストするために使用されます。リストされているファイルは実際にはBowerによって実際に使用されているわけではなく、他のビルドツールで使用する目的でそこにあるようです。

ここに公式の仕様があります:

メイン

推奨
タイプ:StringまたはArrayString

パッケージを使用するために必要な主要な機能ファイル。Bowerはこれらのファイルを直接使用しませんが、コマンドbower list --jsonおよびとともにリストさbower list --pathsれるため、ビルドツールで使用できます。

  • CoffeeScriptのようなプリプロセッサフ​​ァイルはコンパイルする必要があります。
  • 縮小したファイルは含めないでください。
  • ファイル名はバージョン管理すべきではありません(悪い:package.1.1.0.js;良い:package.js)。

1
一部のライブラリは、メインファイルがリストされていないと機能しません。
kboom、

@kboomあなたが言っていることに関連した問題があるかもしれません:たとえば、pdf.js-viewerのcssファイルはmain-bower-filesを使用してコピーできません、それをbower.json内のメインに配置する必要がありますか?はいの場合、実際に各ファイルの完全なパスを指定する必要がありますか?ありがとう!
trainoasis 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.