web-gelistirme-sc.com

Composer ile jQuery nasıl kurulur?

Böyle bir composer.json dosyası olmayan depoları yükleyebildim:

    {
        "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"
            }
        }
    },

Dokümanlardan "type": "Zip" kısmını aldım, ancak başka birçok türde bulamadım. Örneğin, jQuery'yi yüklemem gerekiyor, fakat ne yazacağımı bilmiyorum ("js" işe yaramadı).

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

Herhangi bir fikir?

EDIT: @ CMCDragonkai'ye yardımcı olmak için solution öğesinin tamamını ekleyeceğim:

    "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"
                }
            }
        }
    ]
56
ChocoDeveloper

Bu sadece bir eksik özelliktir. Muhtemelen indirilen ve olduğu gibi bırakılan tek bir düz metin dosyası olan yeni bir tür dist olmalıdır. Lütfen github sorunu izleyicisine bir özellik isteği gönderin: https://github.com/composer/composer/issues/

DÜZENLE : 

özelliği aslında var fakat belgelenmemiş. 

"type": "file"
34
naderman

Aslında jQuery'yi kurmanın daha kolay bir yolu var, sadece şunu yazın:

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

Composer için Component Installer kullanır ve varsayılan olarak Component öğelerinin tümü components altına yüklenir, ancak özelleştirilebilir. ( bakınız dokümanlar ).

39
César

Daha önce de belirtildiği gibi, çözümün bir kısmı kendi depolarınızı ve "type: ": "file" depo tanım seçeneğini tanımlamanızdır. Ancak daha sonraki bir konu, JQuery'yi istediğiniz yere koymak için besteci olmaktır. Bu durumda, besteci, vendor-dir altındaki bağımlılık kaynağını indirmekle sınırlıdır (bu can sıkıcıdır ancak muhtemelen otomatik yükleme gereksinimleri ile ilgilidir). Bu sınırlamanın genel düzeltmesi, üstesinden gelen bir besteci eklentisi yazmaktır. Bunu yönetebilecek birkaç eklenti gibi görünüyor. Bulduğum en basit çözüm, PHP/Besteci olmayan "varlıkları" yönetmeye adanmış olan PHP Composer Asset Manager . Yine de, eklentinin yaptığı değişikliklerin besteci tarafından yönetilmediği/algılanmadığı konusunda en az bir sınırlaması var. Hala kullanılabilir.

İşte bu eklentiyi kullanarak JQuery'yi kurmak için tam bir 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": "*"
      }
    }
  }
}
2
spinkus

jquery'yi npm kullanarak da kurabilirsiniz, 

npm install jquery

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

Composer yerine npm, yarn veya WebPack kullanın, bu tür ihtiyaçlar için daha iyidirler.

0
snoob dogg