При использовании композитора для получения зависимостей загружается огромное количество ненужных файлов, таких как документация, тестовые единицы и т. Д. Это делает построенный файл большим. Как включать только производственные файлы из папки композитора?Как хранить только требуемые файлы при создании пакета dist dist
ответ
К сожалению, для большинства разработчиков программного обеспечения не используются файлы .gitattributes
и использование или отсутствие использования --prefer-dist
. Я придумал следующую задачу с глотком: https://gist.github.com/salarmehr/b62703afb6617f4cacac
Это не так просто, как кажется на первый взгляд.
Композитор сам по себе не подходит для скрипки с опубликованным кодом проекта. Итак, следующая остановка - .gitattributes
.
Symfony попытался сделать это, и их опыт сделал их revert this decision. Композитор имел информацию об использовании .gitattributes
в документации, но removed it.
В сущности, удаление части пакета из отдельного пути распространения может вызвать больше проблем, чем решает. С моей точки зрения, переключатель CLI --prefer-dist
и --prefer-source
- это селектор либо для клонирования огромного репозитория, который занимает много времени, либо загружает ZIP с такой точной версией, но результаты должны быть равны, то есть я не должен быть принужден к --prefer-source
для ВСЕХ мои зависимости только потому, что один пакет, который решил «оптимизировать для развертывания», решил удалить документацию и тесты из своего ZIP.
Да, во время разработки я обычно смотрю на их код и тесты, чтобы помочь мне понять, что происходит - или что ДОЛЖНО продолжать, и нет.
Вывод: композитор НЕ является инструментом развертывания. Если вам небезразличен размер вашего приложения, ваша задача - удалить все, что вам не нужно или хотите, и, возможно, оптимизировать другие вещи (минимизировать JS и CSS, оптимизировать изображения и т. Д.). Задача разработчиков Composers или каких-либо пакетов не должна выполнять эту оптимизацию для вас.
- 1. Воспроизведение 2.x: Файлы из папки conf не копируются в dist при использовании команды воспроизведения dist.
- 2. dist-packages и sys.path
- 3. Как добавить объект dist
- 4. Затмение - Создать каталог Dist
- 5. Как исключить определенные каталоги для dist-gzip/dist-zip?
- 6. Bower dist файлы copy/symlink или что?
- 7. Что требуется для dist?
- 8. Играть DIST задача: как предотвратить конфигурационные файлы, которые будут упакованы
- 9. Play Akka cluster dist
- 10. Обновить страницу получил 404: происходит только при использовании папки/dist
- 11. Конфигурировать bower для установки только папки dist
- 12. Файлы Ember-cli/dist не запускаются при непосредственном запуске
- 13. ASP.NET 5 vNext. Публикация "Dist" подпапку только
- 14. angular-cli добавляет задачи веб-пакета для копирования файлов dist
- 15. GNUstep make dist
- 16. Копирование папки в dist/
- 17. эквивалент «сделать dist» в CMake
- 18. Проблема с загрузкой файлов в папку dist
- 19. Играйте! dist throws Exception
- 20. Как запретить удаление определенного пакета во время dist-upgrade?
- 21. Где находится метод dist()
- 22. Grunt - папка с распаковкой после сборки dist
- 23. Как изменить grunt, чтобы исключить все файлы readme и файлы примеров bower_component при запуске команды dist?
- 24. Playframework dist не поддерживает подпроекты?
- 25. Ошибка трассировки отпечатка пальца Dist
- 26. Как только развернуть папку dist на лазурный веб-сайт?
- 27. Переписывание пути шрифта для dist с Grunt
- 28. Что означает «dist» в композиторе при обновлении?
- 29. Cant разрешает модуль 'babel' при запуске dist
- 30. Распространение папки «Dist» с Github
@PaulCrovella Спасибо за ссылку. – PHPst