2011-09-08 9 views
18

ウェブ資産のパッケージマネージャーを知っていますか?ウェブ資産のパッケージマネージャー

私はjQueryのようなライブラリをダウンロードできるので、アセットパイプラインにプラグインすることができます。 js.*fanstaticのpythonパッケージは近いですが、ライブラリの1つの「最新の」バージョンを選んでいます。

Googleのjs cdnには、いくつかのメタデータが含まれていますが、主にブラウザによって直接ダウンロードされるように設計されています。

答えて

16

である私は、インブラウザのJavaScriptのためにこれらのパッケージマネージャを見つけた:

  • CPM(CommonJSパッケージマネージャ)、 Dojoパッケージに焦点を当て、アーカイブはhttp://packages.dojofoundation.org/(約60パッケージ)です。 CPMはCommonJS形式をmappings fieldで補完し、従属パッケージのモジュールがどのようにrequire()できるかを説明します。d
  • CaolanのJamのアーカイブはhttp://jamjs.org/packages/です。ここにはJam packaging guideがあります。
  • Enderパッケージ管理のためにnpmにピギーバックし、AMDのようなクライアントを提供します(AMDの互換性についてはわかりませんが、各パッケージにはバグレポートが記載されています)。ここにEnder packaging docsがあります。ここにはpackages with the ender keywordがあります。 Enderは、既存のライブラリをパッケージ化することに重点を置いていませんが、JeeshスターターパックはjQueryのモジュール式で互換性のある互換性があります。

これらのほとんどは、ブラウザローダーのAMD formatに公開でき、RequireJSでロードできます。彼らはまた、CommonJS package format(npmによっても使用される)をpackage.jsonメタデータとして使用する傾向があります。

私はXStaticも見つけました。これは、ファンタスティックのアクティブではないバージョンのようです。ファンタスティックのように、Pythonパッケージでライブラリをラップします。それには同じ制限があります(バージョンが遅れる傾向があります)が、ラッパーパッケージを書くことは、私自身の更新を焼くことができるほど単純です。

BPMとfanstaticは、非jsアセットを認識しており、CSSをマージまたは縮小できます。

+4

私は[ジャム]を追加したい(http://groundcomputing.co.uk/code/jam )をJavaScriptパッケージマネージャのリストに追加したものです。 – Caolan

+1

[Yeoman](http://addyosmani.com/blog/improved-developer-tooling-and-yeoman/)(まだリリースされていない)は、バワーの形でいくつかのパッケージ管理を約束している(これは明らかにTwitterの人々と – Tobu

+0

Jamはrequirejs互換の設定を尊重し、PHPパッケージマネージャの作曲家に似たjsonファイルで簡単に設定できるので、IMOは最高です。 – acme

13

Bower、Twitterからのパッケージマネージャー。

Bowerはウェブのパッケージマネージャです。 Bowerは、画像、CSS、JavaScriptなどの資産を簡単に にインストールし、依存関係を管理します。

Bowerはパッケージ管理とパッケージ管理のみを行います。

BowerにはNodenpmが必要です(一部のバウアーパッケージではおそらくgit)。また、開発者が最新のWebアプリケーションを開発するのに役立つ一連のツールであるYeomanにも含まれています。

+1

Bowerは素晴らしいです。それはクライアント側のnpmです(ただし、パッケージは少なくなります)。 – wprl

+1

-1 bowerはコミットをサポートしておらず、開発者はそれをサポートしたくないようです - 完璧な雪片ではないウェブの90%にさよならを言います= – srcspider

+1

srcspiderのコメントに追加するには、多くの場合、bowerは依存関係の 'git clone'と' git checkout tagname'を実行するのと同じです。ターゲットがこれ以上のものを必要とし、レポにbower設定ファイルを持っていない場合は動作しません。プロジェクトがビルドプロセス(例えばSinon)を必要とする場合、それは動作しません。タグの代わりに特定のブランチまたはコミットを使用したい場合、それは動作しません。 – DriverDan

2

RequireJSの著者は、パッケージ/依存関係の管理をも作成しましたがVoloと呼ばれる:

プロジェクトテンプレートからブラウザベースのフロントエンドプロジェクトを作成し、 GitHubのからそれらをフェッチすることによって依存関係を追加します。プロジェクトが に設定されたら、一般的なタスクを自動化します。

voloは、 パッケージリポジトリ用のGitHubをサポートする依存関係マネージャおよびプロジェクト作成ツールです。

voloは一般的なコマンドランナーです。新しい コマンドを作成して、他のコマンドを使用することができます。

0

npmを使用してください。それはすでにそれにブラウザモジュールのトンを持っており、他のオプションよりも方法も大きい:

http://www.modulecounts.com/