Рабочий процесс отладки приложений Foxx?
Каков рекомендуемый рабочий процесс для отладки приложений Foxx?
В настоящее время я работаю над довольно большим приложением, и мне кажется, что я делаю что-то не так, потому что то, как я работаю, вообще не представляется возможным:
- Внесите изменения в приложение Foxx (например, новые конечные точки).
- Загрузите свое приложение foxx в ArangoDB.
- Проверьте свои изменения (например, вызовите вызовы API).
- Проверьте журналы, чтобы увидеть, что-то пошло не так.
- Перейти к 1.
2 ответа
Я ощутил значительную экономию времени, перенеся большую часть рабочего процесса разработки на клиент терминала "arangosh". Особенно при отладке более сложных конечных точек, вы можете изолировать запросы и функции и отлаживать каждый из них по отдельности в терминале. Закончив отладку, вы объединяете свой код в приложении Foxx и монтируете его. Требуйте модули, как в Foxx, просто введите переменные в качестве аргументов для ваших функций или запросов.
Вы можете использовать arangosh либо непосредственно из терминала, либо через встроенный терминал в интерфейсе Arangodb.
Вы также можете сэкономить некоторое время, переключаясь в режим разработки, что позволяет вам вносить изменения в ваш код, непосредственно отраженные в смонтированном приложении, без извлечения, монтирования и размонтирования каждый раз. Такая дополнительная гибкость требует некоторой производительности, поэтому обязательно вернитесь в рабочий режим, когда ваше приложение Foxx будет готово к развертыванию.
При разработке приложения Foxx я бы предложил использовать режим разработки. Это также очень помогает при отладке, поскольку у вас более быстрая обратная связь. Это работает следующим образом:
- Начните
arangod
с опцией dev-app-path как это:arangod --javascript.dev-app-path /PATH/TO/FOXX_APPS /PATH/TO/DB
где путь к приложениям foxx - это папка, содержащая папку базы данных, в которой находятся ваши приложения foxx, отсортированные по базе данных. Более подробную информацию можно найти здесь. - Вносите изменения, не нужно развертывать приложение или что-то еще. Приложение теперь автоматически перезагружается при каждом запросе. Изменить, попробовать, изменить попробовать...
Там в настоящее время нет возможности отладки. Мы планируем добавить больше поддержки для модульного тестирования приложений Foxx в ближайшем будущем, чтобы вы могли иметь более TDD-подобный рабочий процесс.