web-dev-qa-db-ja.com

ComposerでjQueryをインストールする方法は?

次のようなcomposer.jsonファイルを持たないリポジトリをインストールできました。

    {
        "type": "package",
        "package": {
            "name": "yahoo/yui-compressor",
            "version": "2.0.4",
            "dist": {
                "url": "http://yui.zenfs.com/releases/yuicompressor/yuicompressor-2.4.7.Zip",
                "type": "Zip"
            }
        }
    },

ドキュメントから「タイプ」:「Zip」の部分を取得しましたが、他の多くのタイプは見つかりませんでした。たとえば、jQueryをインストールする必要がありますが、何をタイプするのかわかりません(「js」は機能しませんでした)。

    {
        "type": "package",
        "package": {
            "name": "jquery/jquery",
            "version": "1.7.2",
            "dist": {
                "url": "http://code.jquery.com/jquery-1.7.2.js",
                "type": "js"
            }
        }
    }

何か案は?

[〜#〜] edit [〜#〜]:@CMCDragonkaiを支援するために、完全なsolutionを追加しています。

    "require": {
        "vendorname/somefile": "1.2.3",
    },
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "vendorname/somefile",
                "version": "1.2.3",
                "dist": {
                    "url": "http://example.com/somefile.txt",
                    "type": "file"
                }
            }
        }
    ]
57
ChocoDeveloper

これは単に欠落している機能です。おそらく新しいタイプのdistが存在するはずです。これは、ダウンロードしてそのままの状態で残す単一のプレーンテキストファイルです。 github issue trackerで機能リクエストを提出してください: https://github.com/composer/composer/issues/

編集:

機能 実際に存在する ですが、文書化されていません。

"type": "file"
34
naderman

実際には、jQueryをインストールする簡単な方法があります。入力するだけです:

{
    "require": {
        "components/jquery": "1.9.*"
    }
}

Composerのコンポーネントインストーラー を使用し、デフォルトでコンポーネントのすべてのアセットはcomponentsの下にインストールされますが、カスタマイズできます。 ( ドキュメントを参照 )。

39
César

既に概説したように、ソリューションの第1部は、独自のリポジトリと"type: ": "file"リポジトリ定義オプション。しかし、その後の問題はcomposerを取得してJQueryを目的の場所に配置することです。現状では、composerはvendor-dir(これは迷惑ですが、おそらくオートロードの要件に関連しています)。この制限に対する一般的な修正は、それを克服するcomposerプラグインを書くことです。これを管理できるいくつかのプラグインのようです。私が見つけた最も簡単な最も軽いソリューションは PHP Composer Asset Manager 、これは非PHP/Composer "アセット"の管理専用です。ただし、プラグインによる変更が管理/検出されないという制限が少なくとも1つあります作曲家による。

完全なcomposer.jsonそのプラグインを使用してJQueryをインストールします。

{
  "name": "foo/bar",
  "require":
  {
    "phpclasses/assets": "*",
     "jquery/jquery": "*"
  },
  "repositories": [
    {
     "type": "composer",
     "url": "http://www.phpclasses.org/"
    },
    {
      "type": "package",
      "package": {
        "name": "jquery/jquery",
        "version": "1.7.2",
        "type": "jquery",
        "dist": {
          "url": "http://code.jquery.com/jquery-1.7.2.js",
          "type": "file"
        }
      }
    }
  ],
  "extra": {
    "assets": {
      "actions": [
        {
          "type": "copy",
          "target": "webroot/js",
          "pattern": "\\.js$"
        }
      ],
      "packages": {
        "jquery/jquery": "*"
      }
    }
  }
}
2
spinkus

次のようにnpmを使用してjqueryをインストールできます。

npm install jquery

https://www.npmjs.com/package/jquery

Composer)の代わりにnpmyarnまたはWebPackを使用してください。

0
snoob dogg