appType: 'spa' | 'mpa' | 'custom' (default: 'spa')
Тип приложения
assetsInclude: string | RegExp | (string | RegExp)[]
base: string
http://localhost:5173/test
(base: “test”)
cacheDir: string (default: "node_modules/.vite")
clearScreen: boolean (default: true)
envDir: string (default: root)
envPrefix: string (default: VITE\_)
''
, vite выдаст ошибку. Чтобы убрать префикс смотри параметр define
logLevel: 'info' | 'warn' | 'error' | 'silent' (default: 'info')
mode: 'development' | 'production' (default: 'development' for dev server, 'production' for build)
publicDir: string | false (default: "public")
root: string (default: process.cwd())
Опции для локального запуска (dev-server)
server: {
host: string | boolean (default: 'localhost')
--host value
port: number (default: 5173)
strictPort: boolean (default: false)
(например 3001)
уже занят, то при значении strictPort: true
, выдаст ошибку.
Иначе займет другой свободный порт
https: {}
https.createServer()
.
Нужен действительный secure сертификат
open: boolean | string
proxy: Record<string, string | ProxyOptions>
'/foo': 'http://localhost:4567'
(shorthand: http://localhost:5173/foo -> http://localhost:4567/foo)
cors: boolean | CorsOptions (default: true)
headers: OutgoingHttpHeaders
hmr: boolean | { protocol?: string, host?: string, port?: number, path?: string, timeout?: number, overlay?: boolean, clientPort?: number, server?: Server } (default: true)
warmup: { clientFiles: string[], ssrFiles: string[] }
Указанные файлы будут преобразованы и кешированы предварительно, для быстрой загрузки.
Улучшает начальную загрузку страницы во время запуска сервера.
string
- относительный от root путь до файла.
Например:
clientFiles: ['./src/components.vue', './src/utils/big-utils.js'],
ssrFiles: ['./src/server/modules.js'],
watch: object | null
null
то файлы просматриваться не будут. По умолчанию exclude
.git/
и node_modules/
Подробнее тут
middlewareMode: boolean (default: false)
}
Для работы с файловой системой
fs : {
strict: boolean (default: true)
allow: string[]
/@fs/
Если server.fs.strict: true
, то этот параметр не устанавливать, будет ошибка
deny: string[] (default ['.env', '.env.*', '*.{pem,crt}'])
origin: string
sourcemapIgnoreList: false | (sourcePath: string, sourcemapPath: string) => boolean
(default: (sourcePath) => sourcePath.includes('node_modules'))
}
Опции для сервера, запускаемого с помощью vite preview (то, что собрали в папку после build)
preview {
host: string | boolean (default: 'localhost')
--host value
port: number (default: 5173)
strictPort: boolean (default: false)
(например 3001)
уже занят, то при значении strictPort: true
, выдаст ошибку.
Иначе займет другой свободный порт
https: {}
https.createServer()
.
Нужен действительный secure сертификат
open: boolean | string
proxy: Record<string, string | ProxyOptions>
'/foo': 'http://localhost:4567'
(shorthand: http://localhost:5173/foo -> http://localhost:4567/foo)
cors: boolean | CorsOptions (default: true)
headers: OutgoingHttpHeaders
Для настройки заголовков, которые приходят с сервера.
}
Опции для билд сборки (в продакшн)
build: {
target: string | string[] (default: "modules")
В какое окружение собираем билд.
"modules"
- для браузеров с нативными модулями ES, нативным динамическим импортом ESM и import.meta
Список значений - chrome, deno, edge, firefox, hermes, ie, ios, node, opera, rhino, safari
подробнее
modulePreload: boolean | { polyfill?: boolean, resolveDependencies?: ResolveModulePreloadDependenciesFn }
(default: { polyfill: true })
Полифилы
outDir: string (default: "dist")
root для билда
assetsDir: string (default: "assets")
Куда складываем результаты билда (сгенерированные чанки и бандлы)
путь относительно outDir, т.е. по дефолту process.cwd()/dist/assets
assetsInlineLimit: number | ((filePath: string, content: Buffer) => boolean | undefined)
(default: 4096 (4 КБ))
Все ресурсы, которые весят меньше этого значения будут переведены в base64 и использованы inline.
Т.е. для них не будет отдельного запроса во вкладке network
cssCodeSplit: boolean - (default: true)
Регулирует разделение css кода. Если false - то весь css будет собран в один файл, включая асинхронные модули (подключенные через lazy)
Если указать build.lib
=> будет (default: false)
cssTarget: string | string[] - (default: build.target)
Для какого окружения собираем css
cssMinify: boolean | 'esbuild' | 'lightningcss' - (default: build.minify)
Для регулировки минимизации css
По умолчанию используется 'esbuild'
Если хотим использовать 'lightningcss'
нужно настроить в css: {lightningcss: {}}
Можно отключить параметром false
cssMinify: boolean | 'inline' | 'hidden' - (default: false)
Отображение исходных текстов программы (не минимизированных)
Если 'inline'
, исходная карта будет добавлена к результирующему выходному файлу как URI данных
'hidden'
работает аналогично true
за исключением того, что соответствующие комментарии исходной карты в связанных файлах подавляются.
rollupOptions: RollupOptions
Опции для сборщика rollup, который используется в build сборке
commonjsOptions: RollupCommonJSOptions
Опции для плагина rollup @rollup/plugin-commonjs
lib: false | LibraryOptions
Параметр настройки, если нужно собрать не приложение а библиотеку, например ui
manifest: boolean | string (default: false)
Для создания манифест файла
Если true
то будет создан файл .vite/manifest.json
подробнее
ssrManifest: boolean | string (default: false)
Для создания манифест файла ssr
подробнее
ssr: boolean | string (default: false)
При использовании ssr
подробнее
ssrEmitAssets: boolean | string (default: false)
Собирает статику на клиенте. Конфликты с серверной статикой решаются разрабочиками
minify: boolean | 'terser' | 'esbuild' (default: 'esbuild' для сборки клиента, false для сборки SSR.)
Управление минификацией. 'esbuild'
и 'terser'
использует одноименные минификаторы.
Если стоит значение 'terser'
, нужно установить в dev зависимость
terserOptions: {}
Опции для terser минификатора. Использовать если minify: 'terser'
write: boolean (default: true)
Разрешает или запрещает записывать данные на диск при build
.
emptyOutDir: boolean (default: true)
Перед билдом очищаем dist
copyPublicDir: boolean (default: true)
По умолчанию Vite копирует файлы из publicDir в outDir
reportCompressedSize: boolean (default: true)
Включить/отключить отчеты о размерах, сжатых gzip
Сжатие больших выходных файлов может быть медленным, поэтому его отключение может повысить производительность сборки для больших проектов.
chunkSizeWarningLimit: boolean (default: true)
}