网站建设.龙兵科技,祥云县住房和城乡建设网站,室内设计培训班哪个学校好,个人工作室项目什么是satis 我们一般是从packagist获取composer包的#xff0c;但这些都是公开的。那如果我们想创建自己的私有库呢#xff0c;比如企业就会有这方便的需要#xff0c;那我们就可以用satis来创建自己的私有库。 Satis 是一个静态的 composer 资源库生成器。它像是一个超轻量… 什么是satis 我们一般是从packagist获取composer包的但这些都是公开的。那如果我们想创建自己的私有库呢比如企业就会有这方便的需要那我们就可以用satis来创建自己的私有库。 Satis 是一个静态的 composer 资源库生成器。它像是一个超轻量级的、基于静态文件的 packagist 版本。你给它一个包含 composer.json 的存储库定义好 VCS 和 资源库。它会获取所有你列出的包并打印 packages.json 文件作为 composer 类型的资源库。 什么是主资源库 搭建过satis的同学都知道如果我们要引用它需要在composer.json中加入对应的仓库 repositories: {satis: {type: composer,url : http://satis.corp.anjuke.com},aptf: {type:git,url:gitgitlab.corp.anjuke.com:maben01/aptf.git}
} 我们可以看到satis仓库的类型为composer那类型为composer是啥意思呢附上官网的解释 主资源库的类型为 composer。它使用一个单一的 packages.json 文件包含了所有的资源包元数据。这也是 packagist.org 所使用的资源类型。要引用一个 composer 资源库只需要提供一个存放 packages.json 文件的 目录路径。比如要引用 packagist.org 下的 /packages.json它的 URL 就应该是 packagist.org。而 example.org/packages.json 的 URL 应该是 example.org。 抓包看究竟 我们使用composer require xxx命令时composer会依次查找composer.json中的repositories块是否有指定的包。当看到类型为composer的statis地址时composer实际上是发起了一次http请求可以看到user-agent为composer/1.6.2。 但返回了一串“include/all$e75fd28807530f173c649ebc19728a480208c415.json”是什么意思我是要获取composer包的元数据啊关键在于includes官网给出了解释 对于较大的资源库可以拆分 packages.json 为多个文件。includes 字段允许你引用这些额外的文件。文件的 SHA-1 码允许它被缓存仅在 hash 值改变时重新请求。 composer看到返回的sha-1改变了会发起第二次请求来获取真正的元数据。抓包如下 可以看到请求的路径就是上次请求includes块的key值此时我们终于知道composer包的源地址在哪啦撒花~ 以上是我的个人理解如有错误欢迎指正~