Решение проблем
Используйте эту страницу, если Vite+ ведёт себя не так, как вы ожидаете.
ПРЕДУПРЕЖДЕНИЕ
Vite+ всё ещё находится на стадии alpha. Мы часто вносим изменения, быстро добавляем новые возможности и хотим получать обратную связь, чтобы сделать его лучше.
Поддерживаемые версии инструментов
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 build не запускает мой скрипт сборки
В отличие от менеджеров пакетов, встроенные команды нельзя переопределить. Если вы пытаетесь запустить скрипт из package.json, используйте вместо этого vp run build.
Например:
vp buildвсегда запускает встроенную сборку Vitevp testвсегда запускает встроенную команду Vitestvp 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 импортирует тяжёлые плагины на верхнем уровне, каждый import вычисляется заранее даже для таких команд, как vp lint или vp fmt, которым эти плагины не нужны. Это может заметно замедлять загрузку конфигурации.
Используйте lazyPlugins для отложенной загрузки плагинов. Плагины будут загружаться только для команд, которым они действительно нужны (dev, build, test, preview), и будут пропускаться для всех остальных:
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 - Минимальный репозиторий для воспроизведения или запускаемую песочницу