Composerを使ってjQueryをインストールする方法
-
11-12-2019 - |
質問
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"
}
}
},
.
私はドキュメントから「タイプ」の部分を取りましたが、他の多くの種類が見つかりませんでした。たとえば、jQueryをインストールする必要がありますが、Typeに入れるのかわかりません( "JS"は機能しませんでした)。
{
"type": "package",
"package": {
"name": "jquery/jquery",
"version": "1.7.2",
"dist": {
"url": "http://code.jquery.com/jquery-1.7.2.js",
"type": "js"
}
}
}
.
任意のアイデア?
編集:@cmcdragonkaiを助けるためにソリューションを追加しています:
. "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"
}
}
}
]
解決
これは単に欠けている機能です。ダウンロードされ、ars-isが残される単なる平文ファイルである新しいタイプのDISTがあるはずです。github issue tracker://github.com/composer/composer/assues/"noreferrer"> https://github.com/composer/composer/composer/composer/composer/composer/composer/composer/jp/
編集:
他のヒント
実際にjQueryをインストールする方法はあります。
{
"require": {
"components/jquery": "1.9.*"
}
}
.
コンポーネントインストーラfor composer には、コンポーネントからのすべてのアセットがcomponents
の下にインストールされていますが、カスタマイズできます。。( docs を参照してください。
既に概説されているように、ソリューションの一部は、自分のリポジトリと"type: ": "file"
リポジトリ定義オプションを定義しています。しかし、後続の問題はあなたがそれを望むjQueryを置くために作曲家を得ることです。それが議席として、Composerはvendor-dir
の下で依存関係ソースをダウンロードすることに限定されているようです(これは迷惑なものですが、おそらくオートローディング要件に関連しています)。この制限に対する一般的な修正は、それを克服する作曲家のプラグインを書くことです。これを管理できるいくつかのプラグインのようです。私が見つけた最も単純な最も軽量の解決策は PHP Composer Asset Manager 。これは、非PHP / Composer" Assets "の管理専用です。しかし、プラグインが作曲者によって管理/検出されていないという変更は、少なくとも1つの制限があります。まだ使用可能です。
それはそのプラグインを使用してjQueryをインストールするための完全なcomposer.json
です。
{
"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": "*"
}
}
}
}
. Composerの代わりにnpm
、yarn
またはWebPack
を使用します。