Cómo configurar Pug en Vue con webpack
Clase 9 de 53 • Curso Profesional de Vue.js 2
Contenido del curso
CLI y Dev Tools
- 3

Instalación de Vue.js: Node, Dev Tools y CLI
06:13 min - 4

Crear una aplicación Vue con CLI y webpack
12:49 min - 5

Cómo funciona webpack.config.js
10:38 min - 6

Babel: transpilador de JavaScript moderno
05:06 min - 7

ESLint con Standard JS: linteo automático en webpack
15:34 min - 8

Configuración de Sass y Bulma en Vue
06:18 min - 9

Cómo configurar Pug en Vue con webpack
Viendo ahora - 10
Diseño de Mockups: Práctica y Colaboración en Comunidad
00:20 min - 11
Creación de Vistas con Mockups y Vue.js
00:32 min
Manipulación del DOM
- 12

Expresiones en Vue: sintaxis doble llave
03:49 min - 13

Diferencia entre v-show y v-if en el DOM
06:22 min - 14

Qué es data binding en Vue.js
04:11 min - 15

Computed properties en Vue.js: cómo crearlas
04:13 min - 16

Qué son los watchers de Vue
02:25 min - 17

Eventos Vue: directiva v-on y métodos format
06:12 min - 18

Cómo construir una interfaz de búsqueda completa en Vue
19:03 min - 19
Manipulación del DOM con Vue.js: Práctica y Ejercicios
03:00 min
REST y HTTP
Sistema de Componentes
- 23

Cómo crear componentes en Vue
08:46 min - 24

Componentes Layout en Vue con Bulma
09:50 min - 25

Reactividad en Vue: $set y Object.assign
06:14 min - 26

Hooks del ciclo de vida en Vue.js
05:38 min - 27

Comunicación padre-hijo con props en Vue
23:27 min - 28

Eventos en Vue: comunicar hijo a padre
12:04 min - 29

Slots: HTML dinámico en componentes Vue
13:42 min - 30

Plugin Event Bus: comunicar componentes sin relación en Vue
19:19 min
Vue Router
Extendiendo VueJS
Clases, Animaciones y Transiciones36
Vuex
- 39

Cómo Vuex centraliza estados en Vue
03:41 min - 40

Instalación de Vuex con estado único
17:32 min - 41

Cómo usar mutations y commit en Vuex
08:16 min - 42

Getters de Vuex: mapGetters y store sincronizado
07:35 min - 43

Cómo dispatch ejecuta actions asincrónicas en ViewX
07:54 min - 44

Instalación de Viewex en Platzi Music
26:37 min
Nuxt.js
Deploy a Producción con Now
Conclusiones
Bonus
Configura con confianza un preprocesador de HTML en Vue para escribir menos y mantener tu código claro. Aquí verás cómo integrar Pug con Vue Loader y webpack, instalar lo necesario con npm y aplicar la sintaxis esencial de Pug en tu componente app.vue.
¿Qué es Pug y por qué agiliza el HTML en Vue con webpack?
Pug permite escribir plantillas concisas que luego se compilan a HTML a través de webpack. La gran ventaja en este setup: gracias a Vue Loader, no necesitas agregar configuración manual para que funcione. Instalas y listo: puedes usar Pug en tus componentes.
- Escribes menos código y mantienes plantillas limpias.
- Compilas automáticamente con webpack mediante Vue Loader.
- Flujo simple: instalas dependencias y ya puedes usar Pug.
¿Cómo instalarlo con npm y habilitarlo en app.vue?
La instalación se reduce a dos paquetes: npm i -D pug y el pack loader para que funcione con webpack. Como Vue Loader lo usa internamente, no tienes que configurarlo a mano.
- Instala dependencias con npm.
- Abre tu archivo único: app.vue.
- En el bloque de estilos puedes indicar el lenguaje, por ejemplo SASS o SCSS; también podrías marcar CSS tradicional.
- En el bloque de plantilla, indica que quieres usar Pug.
- Convierte tu HTML a Pug y guarda los cambios.
- Si agregaste nuevos loaders: interrumpe el proceso de webpack y ejecuta de nuevo npm run dev para recompilar.
Dato útil: Pug antes se llamaba Jade y cambió de nombre por temas de copyright.
¿Qué sintaxis clave de Pug debes aplicar en el template?
La sintaxis de Pug es indentada: la indentación define la jerarquía. Así aseguras qué elementos están dentro de cuáles.
- Para un contenedor con ID, se usa el símbolo #: crea el div con el ID deseado con un hash.
- Para una clase, se usa el punto, igual que en CSS.
- Los atributos van entre paréntesis: por ejemplo, establecer un source para una imagen.
- No se cierran tags: solo escribes la etiqueta de apertura.
- Estructura típica del ejemplo mencionado: un contenedor con #app, una imagen con un atributo de fuente y un H1 al mismo nivel que la imagen que muestra una expresión message.
Si tras convertir el HTML a Pug borras el código viejo, guarda y verifica. Si algo no se refleja, reinicia el proceso de webpack y corre npm run dev para compilar de nuevo.
¿Te surgieron dudas al migrar a Pug o sobre el uso con Vue Loader y webpack? Comparte tu caso en los comentarios y sigamos la conversación.