bro.landing/VITE_BUILD_GUIDE.md

2.1 KiB
Raw Blame History

🚀 Production сборка с Vite

Как работает

Встроенные переменные Vite

Vite автоматически определяет режим сборки:

  • Dev: mode = 'development'
  • Production: mode = 'production'

В vite.config.ts:

export default defineConfig(({ mode }) => {
  const isProd = mode === 'production';
  
  return {
    base: isProd 
      ? 'https://static.brojs.ru/landing/main/'  // Production CDN
      : '/',                                       // Dev локально
    // ...
  }
});

🌐 Команды

Dev режим

npm start         # mode = 'development'
npm run dev       # mode = 'development'
  • Base: /
  • URL: http://localhost:8099/
  • Ассеты: локальные пути

Production сборка

npm run build     # mode = 'production'
  • Base: https://static.brojs.ru/landing/main/
  • Все пути автоматически заменяются на CDN!

📦 Результат production сборки

index.html (главная)

<script src="https://static.brojs.ru/landing/main/main.[hash].js"></script>

terms.html (Terms)

<link rel="stylesheet" href="https://static.brojs.ru/landing/main/terms.[hash].css">

🎯 Кроссплатформенность

Windows: работает
Linux: работает
macOS: работает

Vite использует встроенный параметр mode, который работает везде без дополнительных пакетов!

🔧 Альтернативный способ (если нужен кастомный env)

Если понадобится установить свои переменные:

Установи cross-env

npm install --save-dev cross-env

Обнови package.json

{
  "scripts": {
    "build": "cross-env NODE_ENV=production vite build"
  }
}

Но это не нужно для нашего случая! Vite сам всё делает правильно!