Javascript 依赖于 PHP 库

Javascript dependency in PHP library

我有一个 PHP 库,它依赖于 Javascript 存储库(也是我的库)。在 PHP 库中,我不需要 CDN url 或缩小的副本。 PHP 库使用一个框架(也是自制的)来编译 JS 文件以及我网站上的所有资源。

我不想更改 JS 库的任何内容,也就是我不想创建 composer.json 文件。我知道 git submodule 存在,但我不确定如何使用它,而且我读到它是处理依赖关系的一种非常糟糕的方式,我猜我的子模块不会通过作曲家包含?

是否有任何其他方法可以在 PHP 库中包含 JS 依赖项? (除了复制+粘贴文件)(and/or 使子模块成为一个好的选择的提示)

Composer 默认使用来自 Packagist 的元数据,Packagist 从每个 repo 的 composer.json 文件中提取元数据。

但是,也可以只指定您要自己下载的任何文件。如果你想有很多版本,可能会有点麻烦。

Composer 有一些关于它的文档 here 但我自己尝试了一下,下面将包含我的示例 composer 文件。我能够使用 composer update 下载 git 不包含 composer.json 文件的存储库。

PHP 项目的示例 Composer 文件:

您似乎需要为每个所需版本创建一个“包”部分。

{
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "testy/testyson",
                "version": "1.0.0",
                "dist": {
                    "url": "https://github.com/mickadoo/testlib/archive/1.0.0.zip",
                    "type": "zip"
                }
            }
        },
        {
            "type": "package",
            "package": {
                "name": "testy/testyson",
                "version": "2.0.0",
                "dist": {
                    "url": "https://github.com/mickadoo/testlib/archive/2.0.0.zip",
                    "type": "zip"
                }
            }
        }
    ],
    "require": {
        "testy/testyson": "2.*"
    }
}

我加载的测试存储库只包含一个文本文件,内容为“这是版本 1”,并且在 PHP 包的 require 部分使用了不同的版本,我能够切换他们之间。