如何在创建dist包时只保留需要的文件


How to only keep required files when createing a dist packageget

当使用composer获取依赖时,会下载大量不必要的文件,如文档,测试单元等。这会使构建的文件变大。如何只包括生产文件从作曲家文件夹?

不幸的是,大多数软件包开发人员不利用.gitattributes文件,使用或不使用--prefer-dist对他们来说是一样的。我提出了以下gulp任务:https://gist.github.com/salarmehr/b62703afb6617f4cacac

这并不像乍一看那么容易。

Composer本身不是摆弄项目已发布代码的正确位置。下一站是.gitattributes

Symfony试图这样做,他们的经验使他们恢复这个决定。Composer在文档中有关于使用.gitattributes的信息,但是删除了它。

本质上,从不同的发布路径中删除包的某些部分可能会导致比它解决的更多的问题。从我的角度来看,CLI开关--prefer-dist--prefer-source是一个选择器,要么必须克隆一个巨大的存储库,要么下载一个精确版本的ZIP -但结果应该是相等的,也就是说,我不应该因为一个决定"优化部署"的单个包决定从ZIP中删除文档和测试而被迫为所有依赖项选择--prefer-source

是的,在开发过程中,我通常会查看他们的代码和测试,以帮助我了解发生了什么,或者应该做什么,而不是。

结论:Composer不是一个部署工具。如果你关心你的应用程序的大小,你的任务是删除所有你不需要或不想要的东西,并可能优化其他东西(最小化JS和CSS,优化图像等)。它不应该是作曲家或任何包维护者的任务来为你做这个优化