Compartir en Twitter
Go to Homepage

CONFIGURACIÓN INICIAL DE PROYECTOS FRONT-END CON VITE Y HERRAMIENTAS ESENCIALES

October 30, 2025

Iniciando tu proyecto front-end con herramientas modernas

El desarrollo web front-end ha evolucionado rápidamente en los últimos años, y la selección adecuada de herramientas es crucial para mantener un flujo de trabajo eficiente, escalable y sostenible. Este tutorial te guiará paso a paso en la configuración completa de un proyecto front-end utilizando las tecnologías más actualizadas al 2025, incluyendo el editor de código líder, sistemas de formato automático, linters avanzados y bundlers de última generación. Aprenderás a estructurar tu entorno desde cero, evitando configuraciones obsoletas y adoptando prácticas que son estándar en la industria actual.

La elección de herramientas no solo impacta la productividad diaria, sino también la mantenibilidad del código a largo plazo. Con el crecimiento exponencial del ecosistema JavaScript, es fundamental contar con un setup que permita integrar nuevas funcionalidades sin fricción. En este artículo, nos enfocaremos en crear un entorno robusto que soporte tanto proyectos simples en vanilla JavaScript como aplicaciones complejas con frameworks modernos.

Selección del editor de código óptimo

La base de cualquier proyecto de desarrollo es el editor de texto. Aunque existen múltiples opciones viables, Visual Studio Code se ha consolidado como el estándar de facto en el desarrollo web moderno. Su popularidad no es casual: ofrece un rendimiento excepcional, una vasta biblioteca de extensiones y una integración nativa con las herramientas de desarrollo más utilizadas.

La ventaja principal radica en su sistema de extensiones, que permite personalizar completamente el entorno de trabajo. Entre las características más valoradas se encuentran el soporte para depuración integrada, terminal incorporado y sincronización de configuraciones entre dispositivos. Para instalar VS Code, descarga la versión estable desde su sitio oficial, que en 2025 incluye mejoras significativas en rendimiento con proyectos grandes y soporte nativo para WebAssembly.

Una vez instalado, abre el editor y familiarízate con su interfaz. La barra lateral izquierda contiene el explorador de archivos, mientras que la parte inferior integra un terminal que será fundamental para ejecutar comandos de Node.js y npm.

Implementación de formato automático con Prettier

El formato consistente del código es esencial para la legibilidad y colaboración en equipo. Prettier resuelve este problema automatizando el formateo según reglas predefinidas. Esta herramienta no solo ajusta indentación y saltos de línea, sino que también normaliza comillas, añade paréntesis donde mejora la claridad y asegura consistencia en estructuras complejas.

Para integrarlo en VS Code, accede al panel de extensiones (Ctrl+Shift+X) y busca “Prettier - Code formatter”. Instala la extensión oficial, que en su versión actual incluye soporte mejorado para TypeScript 5.5 y JavaScript con propuestas de etapa 4.

{
    "singleQuote": true,
    "semi": false,
    "trailingComma": "es5",
    "printWidth": 80
}

Por defecto, Prettier no formatea al guardar. Para activar esta funcionalidad, abre las configuraciones (Ctrl+,), busca “format on save” y habilita la opción. Ahora, cada vez que guardes un archivo, el código se reformateará automáticamente. Este comportamiento es particularmente útil cuando se trabaja con código copiado de diferentes fuentes.

La configuración personalizada se realiza mediante un archivo .prettierrc en la raíz del proyecto. El ejemplo anterior muestra una configuración común que prefiere comillas simples y elimina punto y coma al final de las líneas, siguiendo las tendencias actuales del ecosistema.

La importancia de Node.js en desarrollo front-end

Aunque Node.js se asocia frecuentemente con backend, su utilidad en front-end es innegable. Este runtime permite ejecutar JavaScript fuera del navegador, habilitando herramientas de desarrollo que serían imposibles de otra manera. En 2025, Node.js 22 LTS es la versión recomendada para nuevos proyectos, ofreciendo mejoras significativas en rendimiento y seguridad.

Verifica tu instalación ejecutando en terminal:

node -v
npm -v

Si no tienes Node.js instalado, descárgalo desde nodejs.org. La instalación incluye npm (Node Package Manager), que será esencial para gestionar dependencias. Node.js permite ejecutar scripts de build, pruebas automatizadas y herramientas de análisis estático directamente en tu máquina.

La capacidad de acceder al sistema de archivos permite automatizar tareas como la generación de builds de producción, la optimización de imágenes o la creación de scaffolding para nuevos componentes. Sin Node.js, muchas de estas operaciones requerirían herramientas externas complejas.

Configuración inicial del proyecto con npm

Antes de instalar dependencias, inicializa el proyecto creando un archivo package.json. Este archivo es el corazón de cualquier proyecto Node.js y contiene metadatos, dependencias y scripts de ejecución.

npm init --yes

Este comando genera un package.json básico con valores por defecto. La bandera --yes evita preguntas interactivas, ideal para automatización. El archivo resultante incluye campos como name, version y license que puedes modificar según necesites.

{
    "name": "mi-proyecto-frontend",
    "version": "1.0.0",
    "private": true,
    "type": "module",
    "scripts": {
        "dev": "vite",
        "build": "vite build"
    }
}

La propiedad "type": "module" es crucial en proyectos modernos, ya que habilita la sintaxis ES Modules nativa (import/export) en lugar del sistema CommonJS obsoleto.

Instalación y uso de librerías con npm

La gestión de dependencias es uno de los mayores avances en desarrollo front-end. npm permite instalar miles de librerías mantenidas por la comunidad con un simple comando. Por ejemplo, para agregar Three.js (versión 0.167.0 actual):

npm install three

Este comando realiza tres acciones importantes:

  1. Añade la dependencia al package.json
  2. Crea o actualiza package-lock.json para versiones exactas
  3. Descarga el código fuente en la carpeta node_modules
import * as THREE from "three";

const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(
    75,
    window.innerWidth / window.innerHeight,
    0.1,
    1000
);
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);

const geometry = new THREE.BoxGeometry();
const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
const cube = new THREE.Mesh(geometry, material);
scene.add(cube);

camera.position.z = 5;

function animate() {
    requestAnimationFrame(animate);
    cube.rotation.x += 0.01;
    cube.rotation.y += 0.01;
    renderer.render(scene, camera);
}
animate();

Este ejemplo crea un cubo 3D rotatorio, demostrando cómo las librerías instaladas vía npm se importan directamente en el código del navegador.

Prevención de errores con ESLint

Mientras Prettier se encarga del formato, ESLint detecta problemas lógicos y patrones peligrosos en el código. Esta herramienta analiza el AST (Abstract Syntax Tree) para identificar variables no utilizadas, errores de alcance y malas prácticas.

Instala la extensión ESLint en VS Code y luego configura el proyecto:

npm init @eslint/config@latest

El asistente interactivo te guiará mediante preguntas sobre:

  • Tipo de módulos (ES Modules recomendados)
  • Framework utilizado (Vanilla, React, Vue, etc.)
  • Uso de TypeScript
  • Entorno de ejecución (Browser)
export default [
    {
        languageOptions: {
            globals: {
                browser: true,
                es2021: true,
            },
            ecmaVersion: 2022,
            sourceType: "module",
        },
    },
    {
        rules: {
            "no-unused-vars": "warn",
            "no-console": "off",
            eqeqeq: ["error", "always"],
        },
    },
];

La configuración resultante se guarda en eslint.config.js (formato moderno desde ESLint v9). Las reglas personalizables permiten adaptar la severidad: “off”, “warn” o “error”.

Introducción a Vite como bundler moderno

Los bundlers transforman código moderno en formatos compatibles con navegadores. Vite, creado por Evan You (autor de Vue), ha superado a Webpack en popularidad gracias a su velocidad de desarrollo sin precedentes. Utiliza ESBuild para el bundling en desarrollo y Rollup para producción.

Crea un proyecto completo con:

npm create vite@latest

El asistente permite elegir:

  • Nombre del proyecto
  • Framework (Vanilla, React, Vue, Svelte, etc.)
  • Lenguaje (JavaScript o TypeScript)
Proyecto nombre: mi-app-vite
Framework: Vanilla
Variante: JavaScript

Vite genera una estructura de proyecto optimizada:

mi-app-vite/
├── index.html
├── main.js
├── style.css
├── package.json
└── vite.config.js

El archivo package.json incluye scripts esenciales:

{
    "scripts": {
        "dev": "vite",
        "build": "vite build",
        "preview": "vite preview"
    }
}

Ejecuta el servidor de desarrollo con:

npm run dev

Vite inicia un servidor en http://localhost:5173 con hot module replacement (HMR) que actualiza cambios en milisegundos sin recargar la página completa.

Estructura de proyecto recomendada

Una estructura organizada facilita el mantenimiento. Para proyectos vanilla:

src/
├── assets/
│   ├── images/
│   └── fonts/
├── components/
│   ├── Header.js
│   └── Footer.js
├── utils/
│   └── helpers.js
├── styles/
│   ├── main.css
│   └── variables.css
├── main.js
└── index.html

En proyectos React, Vite crea automáticamente:

import React from "react";
import ReactDOM from "react-dom/client";
import App from "./App.jsx";
import "./index.css";

ReactDOM.createRoot(document.getElementById("root")).render(
    <React.StrictMode>
        <App />
    </React.StrictMode>
);

Integración avanzada de herramientas

La verdadera potencia surge al combinar todas las herramientas. Crea un flujo de trabajo donde:

  1. ESLint valida código al guardar
  2. Prettier formatea automáticamente
  3. Vite sirve con HMR
  4. npm gestiona dependencias

Agrega scripts personalizados al package.json:

{
    "scripts": {
        "dev": "vite",
        "build": "vite build",
        "lint": "eslint src --ext .js,.jsx",
        "format": "prettier --write src"
    }
}

Ejecuta npm run lint para verificar errores y npm run format para formatear todo el proyecto.

Optimización para producción

Cuando el desarrollo termina, genera la build de producción:

npm run build

Vite crea una carpeta dist/ con archivos optimizados:

  • Minificación automática
  • Hashing de nombres para cache
  • Tree-shaking eliminación de código muerto
  • Splitting de chunks
dist/
├── assets/
│   └── index-abc123.js
├── index.html
└── favicon.ico

La build resultante es ideal para despliegue en Netlify, Vercel o cualquier hosting estático.

Configuraciones avanzadas de Vite

Personaliza el comportamiento mediante vite.config.js:

import { defineConfig } from "vite";

export default defineConfig({
    server: {
        port: 3000,
        open: true,
        proxy: {
            "/api": "http://localhost:8000",
        },
    },
    build: {
        target: "es2022",
        sourcemap: true,
    },
    plugins: [],
});

Estas configuraciones permiten proxy para APIs, puertos personalizados y targets específicos de navegador.

Mejores prácticas de desarrollo

  1. Mantén node_modules en .gitignore
  2. Commit solo package.json y package-lock.json
  3. Usa variables de entorno para configuraciones sensibles
  4. Documenta scripts personalizados
  5. Implementa pruebas automatizadas
// .gitignore
node_modules/
dist/
.env
.DS_Store

Integración con control de versiones

Inicializa git y crea commits significativos:

git init
git add .
git commit -m "chore: initial commit with vite setup"

Considera usar Conventional Commits para mensajes estandarizados.

Conclusiones

La configuración adecuada de un proyecto front-end es la base del éxito en desarrollo web moderno. Las herramientas presentadas —VS Code con Prettier y ESLint, Node.js con npm, y Vite como bundler— forman un ecosistema completo que aborda formato, calidad de código, gestión de dependencias y rendimiento en desarrollo.

Este setup no solo mejora la productividad inmediata, sino que establece patrones escalables para proyectos futuros. La inversión inicial en configuración se recupera rápidamente mediante flujos de trabajo automatizados y prevención de errores. Mantén estas herramientas actualizadas y adapta las configuraciones según evolucionen las necesidades del proyecto y las mejores prácticas de la industria.