当使用composer获取依赖项时,会下载大量不必要的文件,例如文档,测试单元等。这些文件会使构建的文件变大。如何只包含composer文件夹中的生产文件?
答案 0 :(得分:0)
不幸的是,大多数软件包开发人员都没有利用.gitattributes
文件,使用或不使用--prefer-dist
对他们来说是相同的。我想出了以下gulp任务:https://gist.github.com/salarmehr/b62703afb6617f4cacac
答案 1 :(得分:-1)
这并不像第一眼看上去那么容易。
作曲家本身并不适合摆弄项目发布的代码。所以下一站是.gitattributes
。
Symfony试图这样做,他们的经验使他们revert this decision。 Composer提供了有关在文档中使用.gitattributes
的信息,但removed it。
实质上,从不同的分发路径中删除某个包的某个部分可能会导致比它解决的问题更多的问题。从我的角度来看,CLI开关--prefer-dist
和--prefer-source
是一个选择器,要么必须克隆需要很长时间的大型存储库,要么下载具有该确切版本的ZIP - 但结果应该相同,即我我不应该强迫所有依赖项--prefer-source
,因为一个决定“优化部署”的程序包决定从ZIP中删除文档和测试。
是的,在开发过程中,我通常会查看他们的代码和测试,以帮助我了解正在发生的事情 - 或者应该继续发生什么,而不是。
结论:Composer不是一个部署工具。如果你关心你的应用程序的大小,你的任务就是删除你不需要或不想要的东西,也可以优化其他东西(缩小JS和CSS,优化图像等)。它不应该是Composers或任何软件包维护者的任务来为您做这个优化。