我有一个依赖于 Javascript 存储库(也是我的库)的 PHP 库。在 PHP 库中,我不想要 CDN url 或缩小副本。 PHP 库使用一个框架(也是自制的),它将把 JS 文件连同我网站上的所有资源一起编译。
我不想更改 JS 库的任何内容,也不想制作 composer.json
文件。我知道git submodule
存在,尽管我不确定如何使用它,并且我读过它是处理依赖项的一种非常糟糕的方式,而且我猜我的子模块不会被 composer 包含在内?
有没有其他方法可以在 PHP 库中包含 JS 依赖项? (除了复制+粘贴文件)(和/或使子模块成为一个好选择的提示)
最佳答案
Composer 默认使用来自 Packagist 的元数据,Packagist 从每个 repo 的 composer.json
中提取。文件。
但是,可以只指定您要自己下载的任何文件。但是,如果您想要有很多版本,可能会有点麻烦。
Composer 有一些关于它的文档 here但我自己尝试过,并将在下面包含我的示例 Composer 文件。我可以使用 composer update
下载不包含 composer.json
的 git repo文件。
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”,并使用 require
中的不同版本。 PHP 包的部分,我能够在它们之间切换。
关于PHP 库中的 Javascript 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63660124/