ESLint con Standard JS: linteo automático en webpack
Clase 7 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
Viendo ahora - 8

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

Cómo configurar Pug en Vue con webpack
04:23 min - 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
Mejora la calidad de tu código con confianza: aquí verás cómo usar ESLint para un estilo de código consistente, detectar errores antes de tiempo e integrar reglas como Standard JS en tu flujo de trabajo con NPM, editores y webpack. Todo con ejemplos claros y pasos prácticos.
¿Qué es eslint y por qué usar un linter?
Un linter de código como ESLint estandariza el estilo y ayuda a prevenir errores. Lo clave no es qué reglas se eligen, sino que todo el equipo use las mismas. Es configurable y soporta reglas predefinidas que se instalan como librerías de NPM.
¿Qué propone standard js como preset de reglas?
- No usar puntos y comas.
- Usar espacios para indentar.
- Indentación de dos espacios.
- Configuración lista para usar vía eslint-config-standard.
¿Cómo puede ejecutarse eslint en el día a día?
- A través de webpack: la opción más útil durante el desarrollo.
- Con plugins de editores: Atom, Sublime, Visual Studio Code, Vim, entre otros.
- Por consola: menos conveniente, pero posible.
¿Cómo instalar y configurar eslint con standard js?
La instalación se realiza con dependencias de desarrollo para que sea reproducible en cualquier entorno y quede en el package.json.
¿Cómo instalar dependencias y peer dependencies en npm?
- Instala ESLint.
npm i -D eslint
- Luego instala la configuración de Standard JS junto con sus peer dependencies. Estas son dependencias de las dependencias que deben instalarse manualmente. Copia el comando completo desde el repositorio de la librería y ejecútalo en la terminal.
¿Cómo crear el archivo .eslintrc y extender reglas?
- Crea el archivo oculto .eslintrc (formato JSON) y extiende Standard JS.
{
"extends": ["standard"]
}
- Puedes sobreescribir reglas. Por ejemplo, desactivar el uso de la regla para
new:
{
"extends": ["standard"],
"rules": {
"new": 0
}
}
¿Cómo integrar con el editor y entender mensajes de error?
- Reinicia el editor para que tome los cambios y habilita el plugin de ESLint.
- Verás advertencias como: "Do not use new for side effects" y podrás desactivar la regla en
.eslintrcsi no aplica a tu caso. - Si borras una coma y aparece "Unexpected token", es un error de sintaxis: al corregir la coma, el error desaparece.
¿Cómo integrar eslint con webpack y archivos .vue?
Integrar con webpack automatiza la verificación durante el desarrollo. En webpack v2+ el concepto es "rule" (antes "loader" en v1), pero la idea es la misma: una transformación previa al resto para lintear el código fuente, no el generado por Babel.
¿Cómo instalar el eslint-loader y ejecutarlo antes del build?
- Instala el loader oficial:
npm i -D eslint-loader
- Configura una regla para .js y .vue, con ejecución previa y límite a la carpeta de código fuente (por ejemplo,
source) usando path.resolve.
// webpack.config.js
const path = require('path')
module.exports = {
module: {
rules: [
{
test: /\.(js|vue)$/,
loader: 'eslint-loader',
enforce: 'pre',
include: [path.resolve(__dirname, 'source')]
}
]
}
}
- Así, primero corre eslint-loader y después babel-loader, vue-loader, etc. Esto asegura que se lintee tu código de desarrollo, no el bundle final.
¿Cómo evitar falsos errores JSX en .vue con plantillas html?
Si aparece un error tipo "Expected corresponding JSX closing tag for image" relacionado con "GSX/JSX", falta configurar el plugin de HTML para ESLint.
- Instala el plugin como dependencia de desarrollo:
npm i -D eslint-plugin-html
- Actívalo en
.eslintrc:
{
"extends": ["standard"],
"plugins": ["html"]
}
- Ejecuta tu entorno de desarrollo:
npm run dev
Verás en consola información detallada cuando haya un error: archivo, tipo de error, línea y columna. Al guardar y corregir, webpack recompila automáticamente y continúas trabajando con todo en verde.
¿Tienes dudas sobre la configuración de tu editor, el manejo de peer dependencies o el uso de enforce en webpack? Comparte tu caso en los comentarios y afinamos la configuración juntos.