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
部分使用了不同的版本,我能够切换他们之间。
我有一个 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
部分使用了不同的版本,我能够切换他们之间。