En aquest tema, aprendrem com preparar una aplicació Vue.js per a la producció. Això inclou optimitzacions de rendiment, minificació de codi, eliminació de codi mort i configuració de l'entorn de producció. Aquests passos són essencials per assegurar que la teva aplicació sigui ràpida, eficient i segura quan es desplegui en un entorn de producció.
- Configuració de l'entorn de producció
Variables d'entorn
Vue CLI utilitza fitxers .env
per gestionar les variables d'entorn. Per a la producció, podem crear un fitxer .env.production
per definir les variables específiques de l'entorn de producció.
Configuració de vue.config.js
El fitxer vue.config.js
permet personalitzar la configuració de Webpack. Aquí podem afegir configuracions específiques per a la producció.
// vue.config.js module.exports = { publicPath: process.env.NODE_ENV === 'production' ? '/my-app/' : '/', outputDir: 'dist', assetsDir: 'static', productionSourceMap: false, configureWebpack: { optimization: { splitChunks: { chunks: 'all', }, }, }, };
- Optimització del rendiment
Minificació de codi
La minificació redueix la mida dels fitxers JavaScript eliminant espais en blanc, comentaris i altres elements innecessaris. Vue CLI utilitza Terser per a la minificació automàtica en mode de producció.
Eliminació de codi mort
Webpack elimina automàticament el codi que no s'utilitza (codi mort) durant el procés de construcció. Això redueix la mida del paquet final.
Divisió de codi
La divisió de codi permet carregar només les parts necessàries de l'aplicació quan es necessiten, millorant el temps de càrrega inicial.
// vue.config.js module.exports = { configureWebpack: { optimization: { splitChunks: { chunks: 'all', }, }, }, };
- Construcció de l'aplicació
Per construir l'aplicació per a producció, utilitzem el següent comandament:
Aquest comandament crea una carpeta dist
amb els fitxers optimitzats per a la producció.
- Anàlisi del paquet
És important analitzar la mida del paquet per identificar possibles millores. Vue CLI proporciona una eina d'anàlisi integrada.
Això generarà un informe visual de la mida dels fitxers i els seus continguts.
- Configuració del servidor
Servidor estàtic
Per desplegar l'aplicació, podem utilitzar un servidor estàtic com Nginx. Aquí teniu un exemple de configuració per a Nginx:
server { listen 80; server_name example.com; location / { root /path/to/your/dist; try_files $uri $uri/ /index.html; } }
Servidor Node.js
Si utilitzes un servidor Node.js, pots servir els fitxers estàtics amb Express:
const express = require('express'); const path = require('path'); const app = express(); app.use(express.static(path.join(__dirname, 'dist'))); app.get('*', (req, res) => { res.sendFile(path.join(__dirname, 'dist', 'index.html')); }); const port = process.env.PORT || 3000; app.listen(port, () => { console.log(`Server is running on port ${port}`); });
Exercici pràctic
Objectiu
Construir i desplegar una aplicació Vue.js en un servidor estàtic.
Passos
- Configura les variables d'entorn en un fitxer
.env.production
. - Personalitza el fitxer
vue.config.js
per a la producció. - Executa
npm run build
per construir l'aplicació. - Configura un servidor estàtic (Nginx o similar) per servir els fitxers de la carpeta
dist
.
Solució
- Crea un fitxer
.env.production
:
- Configura
vue.config.js
:
module.exports = { publicPath: process.env.NODE_ENV === 'production' ? '/my-app/' : '/', outputDir: 'dist', assetsDir: 'static', productionSourceMap: false, configureWebpack: { optimization: { splitChunks: { chunks: 'all', }, }, }, };
- Executa el comandament de construcció:
- Configura Nginx:
server { listen 80; server_name example.com; location / { root /path/to/your/dist; try_files $uri $uri/ /index.html; } }
Conclusió
En aquesta secció, hem après com preparar una aplicació Vue.js per a la producció, incloent la configuració de l'entorn, optimització del rendiment, construcció de l'aplicació i configuració del servidor. Aquests passos són essencials per assegurar que la teva aplicació sigui ràpida, eficient i segura quan es desplegui en un entorn de producció. En el següent tema, explorarem com desplegar aplicacions Vue.js en diferents plataformes.
Curs de Vue.js
Mòdul 1: Introducció a Vue.js
- Què és Vue.js?
- Configuració de l'entorn de desenvolupament
- Creant la teva primera aplicació Vue
- Entenent la instància de Vue
Mòdul 2: Conceptes bàsics de Vue.js
- Sintaxi de plantilles
- Enllaç de dades
- Propietats computades i observadors
- Enllaços de classes i estils
- Renderització condicional
- Renderització de llistes
Mòdul 3: Components de Vue.js
- Introducció als components
- Props i esdeveniments personalitzats
- Slots
- Components dinàmics i asíncrons
- Comunicació entre components
Mòdul 4: Vue Router
- Introducció a Vue Router
- Configuració de Vue Router
- Rutes dinàmiques
- Rutes niades
- Guàrdies de navegació
Mòdul 5: Gestió d'estat amb Vuex
- Introducció a Vuex
- Estat, getters, mutacions i accions
- Mòduls a Vuex
- Utilitzant Vuex en components
- Patrons avançats de Vuex
Mòdul 6: Directives de Vue.js
Mòdul 7: Plugins de Vue.js
Mòdul 8: Proves en Vue.js
Mòdul 9: Conceptes avançats de Vue.js
- Funcions de renderització i JSX
- Renderització del costat del servidor (SSR) amb Nuxt.js
- API de composició de Vue 3
- Optimització del rendiment