首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Composer中安装jQuery?

如何在Composer中安装jQuery?
EN

Stack Overflow用户
提问于 2012-07-26 14:22:59
回答 5查看 54.5K关注 0票数 60

我可以安装没有composer.json文件的存储库,如下所示:

代码语言:javascript
复制
    {
        "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"
            }
        }
    },

我从文档中提取了"type":"zip“部分,但我找不到很多其他类型。例如,我需要安装jQuery,但是我不知道在类型中放入什么("js“不起作用)。

代码语言:javascript
复制
    {
        "type": "package",
        "package": {
            "name": "jquery/jquery",
            "version": "1.7.2",
            "dist": {
                "url": "http://code.jquery.com/jquery-1.7.2.js",
                "type": "js"
            }
        }
    }

有什么想法吗?

帮助编辑:我正在添加完整的解决方案来帮助@CMCDragonkai:

代码语言:javascript
复制
    "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"
                }
            }
        }
    ]
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-07-26 21:49:49

这只是一个缺失的特性。可能应该有一种新类型的dist,它只是一个需要下载并保持原样的纯文本文件。请在github问题跟踪器上提交功能请求:https://github.com/composer/composer/issues/

编辑:

功能actually exists,但没有文档记录。

代码语言:javascript
复制
"type": "file"
票数 36
EN

Stack Overflow用户

发布于 2013-06-07 07:51:47

实际上,有一种更简单的方法来安装jQuery,只需输入:

代码语言:javascript
复制
{
    "require": {
        "components/jquery": "1.9.*"
    }
}

它使用Component Installer for Composer,默认情况下,Component中的所有资源都安装在components下,但也可以进行自定义。(see docs)。

票数 47
EN

Stack Overflow用户

发布于 2014-11-28 08:34:50

如前所述,解决方案的第一部分是定义您自己的存储库和"type: ": "file"存储库定义选项。但随后的问题是让composer将JQuery放在您想要的位置。目前看来,composer似乎仅限于在vendor-dir下下载依赖源(这很烦人,但可能与自动加载要求有关)。解决这个限制的一般方法是编写一个composer插件来克服它。似乎有几个插件可以做到这一点。我找到的最简单、最轻量级的解决方案是PHP Composer Asset Manager,它致力于管理非PHP/Composer的“资产”。然而,它至少有一个限制,即插件所做的更改不是由composer管理/检测的。仍然可用。

下面是使用该插件安装JQuery的完整composer.json

代码语言:javascript
复制
{
  "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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11663559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档