Почему проекты Javascript проверяют встроенные результаты в git? - PullRequest
1 голос
/ 30 апреля 2019

Я использую git уже 10 лет и более.Недавно начал работать в javascript, и я заметил, что многие проекты модулей (npm) проверяют свои результаты сборки в репозитории!Это кажется совершенно отсталым для меня.Разве это не затрудняет участие в них, потому что вы всегда выглядите так, как будто вы изменили файлы, которые не следует фиксировать как часть вашего PR?

Я вижу по крайней мере vue.js и three.js, но я видел много других.Я всегда считал, что вы клонируете из github и делаете шаг сборки - я полагаю, это упрощает работу для пользователей, которые просто хотят клонировать и работать?Похоже, это пустая трата времени, и я решил, что для этого нужен npm.

Ответы [ 2 ]

1 голос
/ 30 апреля 2019

Предполагаемый потребитель не обязательно с использованием npm.

Оба three.js и vue.js можно использовать способами, не требующими этапа сборки. Вместо этого потребители могут включить библиотеку, добавив в нее тег <script>. Публикуя официальную скомпилированную сборку, они позволяют интеграторам загружать ее с Github вместо того, чтобы собирать ее из исходного кода.

Если бы мне нужно было собрать Vue из исходного кода, я бы, вероятно, преуспел, но это заняло бы ненулевой объем работы, и я был бы менее уверен в результате. Посмотрите на все сценарии сборки, которые они определяют в своем файле package.json . Нужно ли запускать release? или release:weex? Вероятно, мне придется запустить оба и сравнить результаты. Это раздражает, и я чувствую себя намного лучше, просто загружая что-то, что они предоставили.


Я также имел дело с некоторыми плохими причинами сделать это.

  1. Я работал с несколькими знакомыми, которые не были знакомы с npm и думали, что проекты должны просто работать "из коробки" без дополнительных шагов сборки.

  2. Офисная политика - я лично имел дело с этим - мои коллеги работали над проектом на основе npm и не смогли установить npm или узел на нашем сервере сборки. Привратник сервера сборки не установил бы их без получения официального благословения от нашей команды по безопасности. Безопасность не желала расставлять приоритеты при проверке, и нашему конвейеру сборки требовалось что-то в git для развертывания нашего кода. Мы решили зафиксировать скомпилированный код.

0 голосов
/ 30 апреля 2019

Окончательная сборка для проектов JavaScript обычно меньше исходного кода и не занимает много места в системе управления версиями.Проекты, которые компилируются в двоичные файлы, обычно бывают массивнее по сравнению с исходным кодом, и проверка в сборке приведет к увеличению пространства, необходимого для хранилища.

При этом я думаю, что сборка не должна быть возвращена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...