Wdrożenie produkcyjne
Różnice między środowiskiem developerskim a produkcyjnym
Podczas pracy Vue zapewnia szereg funkcji, które poprawiają doświadczenie programistyczne:
- Ostrzeżenia dotyczące typowych błędów i pułapek
- Walidacja props i emitowanych zdarzeń
- Reactivity debugging hooks
- Integracja z Devtools
Jednak te funkcje stają się bezużyteczne w środowisku produkcyjnym. Niektóre kontrole ostrzeżeń mogą również powodować niewielki narzut wydajnościowy. Podczas wdrażania w środowisku produkcyjnym powinniśmy usunąć wszystkie nieużywane gałęzie kodu przeznaczone wyłącznie do celów programistycznych, aby uzyskać mniejszy rozmiar ładunku i lepszą wydajność.
Bez narzędzi do kompilacji
Jeśli używasz Vue bez narzędzia do kompilacji, ładując je z CDN lub samodzielnie hostowanego skryptu, upewnij się, że używasz kompilacji produkcyjnej (pliki dist kończące się na .prod.js
) podczas wdrażania do produkcji. Kompilacje produkcyjne są wstępnie minimalizowane, a wszystkie gałęzie kodu przeznaczone wyłącznie do programowania są usuwane.
- Jeśli używasz kompilacji globalnej (dostęp przez globalną zmienną
Vue
): użyjvue.global.prod.js
. - Jeśli używasz kompilacji ESM (dostęp przez natywne importy ESM): użyj
vue.esm-browser.prod.js
.
Sprawdź przewodnik po plikach dist, aby uzyskać więcej szczegółów.
Z narzędziami do kompilacji
Projekty tworzone za pomocą create-vue
(na podstawie Vite) lub Vue CLI (na podstawie webpack) są wstępnie skonfigurowane do kompilacji produkcyjnych.
Jeśli używasz niestandardowej konfiguracji, upewnij się, że:
vue
jest rozwinięciemvue.runtime.esm-bundler.js
.- Flagi funkcji czasu kompilacji są poprawnie skonfigurowane.
process.env
jest zastępowane przez.NODE_ENV "production"
podczas kompilacji.
Dodatkowe odniesienia:
Śledzenie błędów w czasie wykonywania
Obsługa błędów na poziomie aplikacji może być używana do raportowania błędów do usług śledzenia:
js
import { createApp } from 'vue'
const app = createApp(...)
app.config.errorHandler = (err, instance, info) => {
// zgłoś błąd do usług śledzenia
}
Usługi takie jak Sentry i Bugsnag również zapewniają oficjalne integracje z Vue.