Решение проблем
Используйте эту страницу, если Vite+ ведёт себя не так, как вы ожидаете.
ИНФОРМАЦИЯ
Vite+ находится в стадии бета-версии: он стабилен, но ещё не завершён. Мы добавляем новые возможности на пути к версии 1.0 и уделяем приоритетное внимание обратной связи от сообщества, поэтому, пожалуйста, сообщите нам, если что-то работает не так, как ожидается.
Поддерживаемые версии инструментов
Vite+ рассчитан на использование современных версий базовых инструментов.
- Vite 8 или новее
- Vitest 4.1 или новее
Если вы переносите существующий проект и он всё ещё зависит от более старых версий Vite или Vitest, сначала обновите их, а затем переходите на Vite+.
vp check не запускает линтинг с учётом типов или проверку типов
- Убедитесь, что в
vite.config.tsвключеныlint.options.typeAwareиlint.options.typeCheck - Проверьте, использует ли ваш
tsconfig.jsonпараметрcompilerOptions.baseUrl
Путь проверки типов Oxlint на базе tsgolint не поддерживает baseUrl. Команды vp migrate и vp lint --init пытаются выполнить исправление vp dlx @andrewbranch/ts5to6 --fixBaseUrl . перед включением линтинга с учётом типов. Если это исправление завершается ошибкой или пользователь отказывается от его применения, Vite+ пропускает включение typeAware и typeCheck.
Расширение VS Code не читает vite.config.ts
Если в VS Code открыто несколько папок, общий языковой сервер Oxc может выбрать другое рабочее пространство. Из-за этого может показаться, что поддержка vite.config.ts отсутствует.
- Убедитесь, что расширение использует нужное рабочее пространство.
vp dev или vp build не запускает мой сценарий
В отличие от менеджеров пакетов, встроенные команды нельзя переопределить. Если вы хотите запустить сценарий из package.json, используйте вместо этого vp run <script>.
Например:
vp devвсегда запускает встроенный сервер разработки Vitevp buildвсегда запускает встроенную сборку Vitevp testвсегда запускает встроенную команду Vitestvp run dev,vp run buildиvp run testвместо этого запускают соответствующие сценарии изpackage.json
См. раздел Встроенные команды и сценарии, чтобы узнать, когда следует использовать каждый из этих вариантов.
ИНФОРМАЦИЯ
Вы также можете запускать пользовательские задачи, определённые в vite.config.ts, и полностью отказаться от сценариев в package.json.
Проверки индексированных файлов и хуки коммитов
Если vp staged завершается ошибкой или ваш pre-commit хук не запускается:
- убедитесь, что
vite.config.tsсодержит блокstaged - выполните
vp configдля установки хуков - проверьте, не была ли установка хуков намеренно отключена через
VITE_GIT_HOOKS=0
Минимальная конфигурация staged выглядит так:
import { defineConfig } from 'vite-plus';
export default defineConfig({
staged: {
'*': 'vp check --fix',
},
});Медленная загрузка конфигурации из-за тяжёлых плагинов
Когда vite.config.ts импортирует плагины на верхнем уровне, они оцениваются при каждой команде, включая vp lint, vp fmt, интеграции с редакторами и долгоживущие фоновые процессы. Это может замедлить загрузку конфигурации и вызвать побочные эффекты при настройке плагинов, такие как чтение файлов, запуск наблюдателей или подключение к сервисам.
Используйте lazyPlugins, чтобы пропускать создание экземпляров плагинов, когда vite-plus загружает вашу конфигурацию только для чтения блока метаданных (lint, fmt, check, staged, pack, create, поиск задач run/cache и инструменты редактора). При этом плагины по-прежнему будут загружаться во всех случаях, когда Vite действительно запускается: dev, build, test, preview, а также при любых сборках, запускаемых вашими собственными сценариями (например, задачей vp run или командой vp exec).
import { defineConfig, lazyPlugins } from 'vite-plus';
import myPlugin from 'vite-plugin-foo';
export default defineConfig({
plugins: lazyPlugins(() => [myPlugin()]),
});Для тяжёлых плагинов, которые следует загружать лениво, используйте динамический import():
import { defineConfig, lazyPlugins } from 'vite-plus';
export default defineConfig({
plugins: lazyPlugins(async () => {
const { default: heavyPlugin } = await import('vite-plugin-heavy');
return [heavyPlugin()];
}),
});Как получить помощь
Если вы столкнулись с проблемой, обратитесь за помощью:
- Discord — для обсуждений в реальном времени и помощи в устранении неполадок
- GitHub — для сообщений об ошибках, обсуждений и создания ишью
При сообщении о проблеме обязательно укажите:
- Полный вывод команд
vp env currentиvp --version - Менеджер пакетов, используемый в проекте
- Точные шаги для воспроизведения проблемы и ваш файл
vite.config.ts - Минимальный репозиторий для воспроизведения или запускаемую песочницу