6

Java には、さまざまなパブリック リポジトリから依存する jar を取得するためのmavenまたはivyがあります。

Ruby には、gem と bundle というさらに優れた依存関係検索ツールがあります。

Javascript コミュニティには同等のツールがありますか? 依存関係をブラウザーに動的にロードすることを管理するためのツールをいくつか見つけました。私はそれらのツールを探していません。

具体的には、新しい開発者が必要な JavaScript ファイルを取得するために使用するツールを探しています。開発者はこのツールを実行し、次のことを行います。

  1. プロジェクトの依存関係記述ファイルを調べます
  2. プロジェクトに jquery-ui-1.8.7、tiny_mce-3.4.3.2、prettyLoader-1.0.1 が必要であることを発見
  3. Web から 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は Raynos によって言及されました。Npm は node.js を中心にしています (これは問題ありません)。ただし、パブリック リポジトリで公開されているライブラリとメタデータは限られています (バージョン、作成者、プロジェクトの URL が簡単に検出されません)。

ただし、今日は npm が解決策のようです。残念ながら、それだけでは十分ではありませんが、それが人生です。

jquery や google-closure にプロジェクト管理ツールがないことに、私はかなり驚いています。(間違っていたら教えて!)

更新: 現在、meteorは meteorite と一緒に来て、大気ライブラリにアクセスして更新します。すごいすごさ。

4

4 に答える 4

5

ツイッターは1つの答えを提供しているようです:

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

Bower (Node と npm を使用) は、Web 用のパッケージ マネージャーです。Bower を使用すると、画像、CSS、JavaScript などのアセットを簡単にインストールし、依存関係を管理できます。

Bower は、依存関係を解決し、パッケージを特定のバージョンにロックする汎用ツールです。Git で実行され、パッケージに依存しません。パッケージには JavaScript、CSS、画像などが含まれる場合があり、特定のトランスポート (AMD、CommonJS など) には依存しません。

次に、Bower は、パッケージの依存関係モデルを公開する単純なプログラム API を利用できるようにすることで、既存のビルド ツール (Sprockets、LoadBuilder、curls.js、Ender など) がそれを使用して、それに応じてファイルをビルドできるようにします。

于 2012-09-12T08:53:58.680 に答える
3

これは、サーバー側のスタックによって異なります。サーバー側スタックのほとんどの依存関係/パッケージマネージャーは、JavaScriptベースの依存関係も処理します。

npmnode.js依存関係マネージャーです。とても人気があります。

これは、 CommonJSpackage.json形式に基づいています。

これをクライアントに移植する動きは次のようにあります。

JavaScriptにはIOが含まれていないため、JavaScriptだけでこれを行うことはできません。enderのコマンドラインツールでさえ、インストールされているnpmに依存しています。サーバーサイドスタックに付属しているツールを使用する必要があります

于 2011-07-27T18:40:09.863 に答える
0

npm と maven を組み合わせた新しいプロジェクト: https://blogs.mulesoft.com/dev/mule-dev/introducing-the-npm-maven-plugin/

非常にクリーンな統合:

<plugin>
    <groupId>org.mule.tools.javascript</groupId>
    <artifactId>npm-maven-plugin</artifactId>
    <version>1.0</version>
    <executions>
         <execution>
             <phase>generate-sources</phase>
             <goals>
                 <goal>fetch-modules</goal>
             </goals>
             <configuration>
                 <packages>
                     <package>colors:0.5.1</package>
                     <package>jshint:0.8.1</package>
                 </packages>
             </configuration>
         </execution>
    </executions>
</plugin>
于 2013-09-26T21:37:15.283 に答える
0

Maven Javascript Tools プロジェクトは、Maven Javascript Import プラグインで自動的に折りたたまれます。後者のプラグインは、Maven 依存関係管理の世界を JavaScript にもたらします。

http://mojo.codehaus.org/javascript-maven-tools/

于 2012-03-31T04:14:33.933 に答える