Почти все системы сборки предпочитают использовать механизм наблюдения для решения проблемы многократного генерации файлов после строительства во время разработки. Тем не менее, в соответствии с механизмом наблюдения мы должны продолжить проблему изменения кода в течение длительного времени и выпить глоток чая после сохранения кода, прежде чем освежить и увидеть эффект. Здесь мы пытаемся исследовать, почему смотреть не серебряная пуля, и пытаемся найти лучшее решение этой проблемы.
Факты, основанные на часах
Когда файл изменен, мы можем знать изменения файла, которые могут быть вызваны его модификацией, поэтому просто перестройте эти файлы.
Обычно для файла A соответствующие отношения очень точны в создании такого сценария, как файл B. Но в реальных сценариях процесс строительства часто не так прост. Например:
Файл A + Файл B (ссылка на файл a) -> файл c
В этом сценарии, когда файл B изменяется, может быть трудно найти, какие файлы должны быть повреждены задачу для строительства, потому что многие файлы могут ссылаться на файл B.
Если мы не создадим дерево зависимостей и не обновляем дерево зависимостей каждый раз, когда обновляется файл, и запускает построение файлов на основе нового дерева зависимостей. Но это требует, чтобы каждый плагин сам по себе реализовал этот механизм и чрезвычайно подвержено ошибкам. Поэтому, на самом деле, механизм часов просто повторяет всю задачу. Таким образом, по мере того, как проект становится все больше, механизм часов станет медленнее и медленнее (потому что все больше и больше файлов необходимо повторно повторно всего процесса, даже если кэш уменьшается за счет сокращения времени, необходимого для всего процесса).
Решение
SRC доступен напрямую
AlloyTeam & @ldjking, просто поместите SRC напрямую и поместите задачи сборки на стороне браузера или даже не строите вообще. Это может не только изменять и обновлять во времени, но и уменьшить потребление времени в процессе разработки. Оффлайн конструкция отвечает только за проблемы оптимизации производительности, а не за эффективность разработки.
Типичные представители включают в себя меньше, реагировать и т. Д., Но есть некоторые проблемы:
Трудно внедрить элегантные методы строительства со стороны браузера, и трудно обеспечить мощные функции для дальнейшего снижения затрат на разработку. Большинство из них могут вводить сценарии только аналогичным образом <style type = "text/mess"> </style> способ.
Порядок выполнения в режиме разработки не обязательно такой же, как фактический сценарий, который может привести к невидимым ошибкам. Например, реализация внедрения HTML является асинхронной, но в режиме выпуска синхронизируется, что приводит к необъяснимым ошибкам.
Производительность компиляции браузера беспокоит, например, JS -версия SASS, и скорость компиляции практически невыносима.
Необходимо поддерживать два набора онлайн -и автономных строительных систем, что увеличивает стоимость разработки инструментов.
Динамическая конструкция локального сервера
Одним из фактов: с разумной поддержкой спецификации мы можем вернуться к файлу записи, запрошенного браузером в файл, который был построен во время файла. Таким образом, мы можем динамически вызвать процесс сборки.
Установив сервер локально, пусть сервер захватит запрос и динамически построить его на сервере. Пока мы вернемся к вводу, мы можем бросить файл входа в трубопровод, состоящий из подключаемого модуля Gulp, а вывод-это файл, необходимый для браузера.
Таким образом, мы можем решить все вышеперечисленные проблемы.