Как синхронизировать исходные и собранные папки во время отладки?

Недавно обновил проект PHP для использования исходной папки и папки сборки. Мы используем Gulp для сборки проекта из папки ‘src’ в папку ‘build’ после извлечения папки ‘src’ и файлов конфигурации проекта из нашего репозитория Git.

project_root
|
├── src
|
├── build
|
└── {project configuration files}

Разработчики как внешнего, так и внутреннего интерфейса в настоящее время используют «gulp watch», которые мы настроили для синхронизации наших папок «src» и «build».

Одна из самых больших неприятностей, с которыми мы столкнулись, заключается в том, что при отладке нашего проекта в браузере мы часто открываем файл-нарушитель, в котором сообщается об ошибке, и манипулируем кодом, пока он не заработает в браузере. Тем не менее, больше раз, чем я хотел бы сосчитать, мы вносим изменения в файл в папке «build» во время отладки, а затем мы должны вручную вносить изменения в папку «src» (что часто сначала игнорируется) ,

Есть ли способ исправить эту проблему рабочего процесса?

Подход дуэльных наблюдателей

Я думал о создании двух файловых наблюдателей для обнаружения изменений в папках ‘build’ и ‘src’ соответственно. Когда одно из часов обнаружит изменение, выключите наблюдатель других папок, обработайте измененные файлы и синхронизируйте другую папку, а затем снова включите наблюдатель другой папки.

(Это похоже на кувалду.)

Подход IDE

У нас PHPStorm и Sublime Text 3 в зависимости от разработчика. В Sublime Text я просто исключаю папку «build» из проекта, чтобы случайно не открыть ее по умолчанию. (Однако я случайно открываю файлы папок «build» при слишком частой отладке PHP.)

Другой

Возможно, способ работы со структурой проекта в целом нуждается в работе. Разработка внешнего интерфейса и бэкэнда часто осуществляется согласованно. Какие-либо предложения?

0

Решение

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

Оказывается, лучший способ справиться с этим — использовать Подход IDE и создайте пути для вашего проекта:

PhpStorm (документация)

  • Настройки »PHP» Серверы
    • Проверьте выбор «использовать пути сопоставления».
    • В нашем случае мы нанесли на карту '../src' папка для '../build'

Превосходный текст с пакетом Xdebug Client

  • Настройки »Настройки пакета» Xdebug »Настройки — Пользователь

    • Добавьте следующее в ваш файл Xdebug.sublime-settings:
    {
    "path_mapping": {
    "C:/wamp/www/fcweb-2/build" : "C:/wamp/www/fcweb-2/src"}
    }
    

После того, как ваши пути сопоставления настроены, вы можете успешно установить точку останова в файле php в вашем '../src' папка запустить сеанс отладки и файл в вашем '../build' папка будет остановлена ​​в том же месте.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]