En esta lección, aprenderás a crear tu primera aplicación Vue desde cero. Cubriremos los siguientes pasos:
- Instalación de Vue CLI
 - Creación de un nuevo proyecto Vue
 - Estructura del proyecto
 - Ejecutar la aplicación
 - Explicación del código inicial
 
- Instalación de Vue CLI
 
Vue CLI (Command Line Interface) es una herramienta oficial para la creación de proyectos Vue.js. Facilita la configuración y el desarrollo de aplicaciones Vue.
Paso 1: Instalar Node.js y npm
Antes de instalar Vue CLI, asegúrate de tener Node.js y npm (Node Package Manager) instalados en tu sistema. Puedes descargarlos desde nodejs.org.
Paso 2: Instalar Vue CLI
Abre tu terminal y ejecuta el siguiente comando para instalar Vue CLI globalmente:
Para verificar que Vue CLI se ha instalado correctamente, puedes ejecutar:
- Creación de un Nuevo Proyecto Vue
 
Paso 1: Crear el Proyecto
En tu terminal, navega al directorio donde deseas crear tu proyecto y ejecuta:
Paso 2: Seleccionar Preset
Vue CLI te pedirá que selecciones un preset. Para esta lección, selecciona la opción "Default (Vue 3)" usando las teclas de flecha y presiona Enter.
? Please pick a preset: (Use arrow keys) > Default ([Vue 3] babel, eslint) Default (Vue 2) ([Vue 2] babel, eslint) Manually select features
- Estructura del Proyecto
 
Una vez que el proyecto se ha creado, navega al directorio del proyecto:
La estructura del proyecto debería verse así:
my-first-vue-app/ ├── node_modules/ ├── public/ │ ├── favicon.ico │ └── index.html ├── src/ │ ├── assets/ │ ├── components/ │ │ └── HelloWorld.vue │ ├── App.vue │ ├── main.js ├── .gitignore ├── babel.config.js ├── package.json ├── README.md └── yarn.lock
Descripción de Archivos y Directorios
- public/: Contiene el archivo 
index.htmlque es la plantilla principal de la aplicación. - src/: Contiene el código fuente de la aplicación.
- assets/: Directorio para almacenar recursos estáticos como imágenes.
 - components/: Directorio para almacenar componentes Vue.
 - App.vue: Componente raíz de la aplicación.
 - main.js: Punto de entrada de la aplicación.
 
 - package.json: Archivo de configuración del proyecto que incluye dependencias y scripts.
 
- Ejecutar la Aplicación
 
Para ejecutar la aplicación, usa el siguiente comando en tu terminal:
Esto iniciará un servidor de desarrollo y deberías ver una salida similar a esta:
Abre tu navegador y navega a http://localhost:8080/. Deberías ver la página de bienvenida de Vue.
- Explicación del Código Inicial
 
main.js
- import { createApp } from 'vue': Importa la función 
createAppde Vue. - import App from './App.vue': Importa el componente raíz 
App.vue. - createApp(App).mount('#app'): Crea una instancia de la aplicación Vue y la monta en el elemento con el id 
appenindex.html. 
App.vue
<template>
  <div id="app">
    <img alt="Vue logo" src="./assets/logo.png">
    <HelloWorld msg="Welcome to Your Vue.js App"/>
  </div>
</template>
<script>
import HelloWorld from './components/HelloWorld.vue'
export default {
  name: 'App',
  components: {
    HelloWorld
  }
}
</script>
<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>- : Define la estructura HTML del componente.
 - : Importa el componente 
HelloWorldy lo registra en el componenteApp. - : Define los estilos CSS para el componente.
 
Ejercicio Práctico
Ejercicio 1: Modificar el Mensaje de Bienvenida
- Abre el archivo 
HelloWorld.vueen el directoriosrc/components/. - Cambia el mensaje de bienvenida a "¡Hola, Mundo desde Vue!".
 
<template>
  <div class="hello">
    <h1>{{ msg }}</h1>
  </div>
</template>
<script>
export default {
  name: 'HelloWorld',
  props: {
    msg: String
  }
}
</script>
<style scoped>
h1 {
  font-weight: normal;
}
</style>Solución
- Abre 
HelloWorld.vuey modifica la propiedadmsgen el componenteApp.vue: 
<template>
  <div id="app">
    <img alt="Vue logo" src="./assets/logo.png">
    <HelloWorld msg="¡Hola, Mundo desde Vue!"/>
  </div>
</template>- Guarda los cambios y verifica en el navegador que el mensaje ha cambiado.
 
Conclusión
En esta lección, has aprendido a crear tu primera aplicación Vue, explorar la estructura del proyecto y ejecutar la aplicación. Ahora estás listo para profundizar en los conceptos básicos de Vue.js en el siguiente módulo.
Curso de Vue.js
Módulo 1: Introducción a Vue.js
- ¿Qué es Vue.js?
 - Configuración del Entorno de Desarrollo
 - Creando Tu Primera Aplicación Vue
 - Entendiendo la Instancia de Vue
 
Módulo 2: Conceptos Básicos de Vue.js
- Sintaxis de Plantillas
 - Vinculación de Datos
 - Propiedades Computadas y Observadores
 - Vinculación de Clases y Estilos
 - Renderizado Condicional
 - Renderizado de Listas
 
Módulo 3: Componentes de Vue.js
- Introducción a los Componentes
 - Props y Eventos Personalizados
 - Slots
 - Componentes Dinámicos y Asíncronos
 - Comunicación entre Componentes
 
Módulo 4: Vue Router
- Introducción a Vue Router
 - Configuración de Vue Router
 - Rutas Dinámicas
 - Rutas Anidadas
 - Guardias de Navegación
 
Módulo 5: Gestión de Estado con Vuex
- Introducción a Vuex
 - Estado, Getters, Mutaciones y Acciones
 - Módulos en Vuex
 - Usando Vuex en Componentes
 - Patrones Avanzados de Vuex
 
Módulo 6: Directivas de Vue.js
Módulo 7: Plugins de Vue.js
Módulo 8: Pruebas en Vue.js
- Pruebas Unitarias con Vue Test Utils
 - Pruebas de Extremo a Extremo con Cypress
 - Simulación de Dependencias
 
Módulo 9: Conceptos Avanzados de Vue.js
- Funciones de Renderizado y JSX
 - Renderizado del Lado del Servidor (SSR) con Nuxt.js
 - API de Composición de Vue 3
 - Optimización del Rendimiento
 
Módulo 10: Construcción y Despliegue de Aplicaciones Vue.js
- Construcción para Producción
 - Despliegue de Aplicaciones Vue.js
 - Integración y Despliegue Continuos (CI/CD)
 
