Доступно несколько методов для отладки кодовой базы Orval.
Первым шагом при работе с проектом является настройка среды разработки. После выполнения инструкций по настройке в файле CONTRIBUTING.md вы можете использовать команду по умолчанию yarn dev
для запуска кодовой базы локально. Эта команда является частью процесса turbo dev
и запускает образец проекта, расположенный по адресу react-query/basic. Вы можете использовать этот образец как отправную точку для отладки выходных данных, сгенерированных проектом.
Если вы хотите попробовать отладку другого образца, вы можете обновить скрипт generate-api
в файле package.json для ссылки на другой образец или изменить существующий образец react-query/basic
по мере необходимости.
После настройки вашей среды останется только настроить вашу среду разработки (IDE) для возможности отладки с использованием точек останова. Это позволит вам шаг за шагом проходить через код и проверять конкретные области интереса.
Ниже приведен пример конфигурации для Visual Studio Code, который вы можете добавить в ваш файл launch.json
:```json
{
"type": "node",
"request": "launch",
"name": "Запуск сервера разработки",
"runtimeExecutable": "yarn",
"args": ["dev"],
"skipFiles": ["<node_internals>/**"],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"env": {
"PATH": "${workspaceFolder}/node_modules/.bin:${env:PATH}" // Это гарантирует, что VS Code ссылается на локальные пакеты проекта
},
"cwd": "${workspaceFolder}"
}
Еще одним подходом к отладке является написание и запуск тестов. Это особенно полезно, если вы хотите изолировать конкретные части кода и оценить их производительность без углубления в полную кодовую базу.
Тестирование может быть более сложным, чем запуск среды разработки, так как это требует глубокого понимания интерфейсов и функций, которые вы хотите протестировать. Однако, после ознакомления с кодовой базой, этот подход становится очень эффективным для целенаправленной отладки.
Чтобы реализовать это, создайте файл теста рядом с файлом кода, который вы хотите протестировать. Например, если вы работаете над [operation.ts](./packages/core/src/getters/operation.ts), вы создадите соответствующий тестовый файл с именем [operation.test.ts](./packages/core/src/getters/operation.test.ts). Преимущества данного подхода:
1. Он улучшает общую базу кода, добавляя покрытие тестами.
2. Он позволяет тестировать изолированные части кода, делая процесс отладки более предсказуемым.
Чтобы запустить эти тесты в вашей IDE, вы можете использовать следующую конфигурацию в Visual Studio Code:```json
{
"type": "node",
"request": "launch",
"name": "Отладка текущего тестового файла",
"runtimeExecutable": "yarn",
"args": [
"test",
"${file}" // Ссылается на текущий открытый файл в редакторе
],
"skipFiles": ["<node_internals>/**"],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"env": {
"PATH": "${workspaceFolder}/node_modules/.bin:${env:PATH}" // Это гарантирует, что VS Code ссылается на локальные пакеты проекта
},
"cwd": "${workspaceFolder}"
}
```**Примечание для пользователей Windows:** Вам может потребоваться скорректировать путь `cwd`, чтобы включить конкретную директорию пакета, например `"${workspaceFolder}/packages/core"`.
## Устранение неполадок
### 1. Неопределённая функция при выполнении команды `generate`?
Из-за структуры монорепозитория отладка всего потока за один раз может быть затруднительной. Чтобы упростить процесс, попробуйте имитировать некоторые из пакетов или разбить поток на более мелкие, управляемые части.
Вы также можете извлечь параметры, переданные функции, создать фикстуры с этими значениями и импортировать их как JSON-файлы для тестирования изменений в изоляции.
### 2. Отсутствуют зависимости, такие как TSC или Vitest?
Эта ошибка возникает, когда ваша IDE не может найти необходимые двоичные файлы в `node_modules`. Обычно это означает, что вам нужно настроить вашу IDE для ссылки на локальную директорию `node_modules`. Используйте следующую переменную окружения для решения этой проблемы:
```json
"env": {
"PATH": "${workspaceFolder}/node_modules/.bin:${env:PATH}"
}
Эта проблема часто возникает в структуре монорепозитория, когда запускатель тестов не может найти правильный путь. Чтобы исправить это, укажите путь пакета в поле cwd
, как показано ниже:
"cwd": "${workspaceFolder}/packages/{package-to-reference}"
```Это особенно распространено на Windows, где обработка путей требует более явной конфигурации.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )