Skip to content

Inicio Rápido

Prueba Vue Online

  • Para probar rápidamente Vue, puedes hacerlo directamente en nuestro Playground.

  • Si prefieres una configuración HTML sencilla sin pasos de compilación, puedes utilizar este JSFiddle como punto de partida.

  • Si ya estás familiarizado con Node.js y el concepto de herramientas de compilación, también puedes probar una configuración de compilación completa directamente desde tu navegador en StackBlitz.

Crear una Aplicación de Vue

Prerequisitos

  • Familiaridad con la línea de comandos
  • Instalar Node.js versión 18.3 o superior

En esta sección presentaremos cómo crear una Aplicación de una Sola Página (SPA) de Vue en tu máquina local. El proyecto creado utilizará una configuración de compilación basada en Vite y nos permitirá utilizar los Componentes de un Solo Archivo (SFCs) de Vue.

Asegúrate de tener instalada una versión actualizada de Node.js y que tu directorio de trabajo actual sea donde quieras crear un proyecto. Ejecuta el siguiente comando en tu línea de comandos (sin el signo $):

npm
pnpm
yarn
bun
sh
$ npm create vue@latest

Este comando instalará y ejecutará create-vue, la herramienta oficial de estructuración de proyectos de Vue. Se te presentarán solicitudes para varias características opcionales como TypeScript y soporte de pruebas:

 Project name: <your-project-name>
 Add TypeScript? No / Yes
 Add JSX Support? No / Yes
 Add Vue Router for Single Page Application development? No / Yes
 Add Pinia for state management? No / Yes
 Add Vitest for Unit testing? No / Yes
 Add an End-to-End Testing Solution? No / Cypress / Nightwatch / Playwright
 Add ESLint for code quality? … No / Yes
 Add Prettier for code formatting? No / Yes
 Add Vue DevTools 7 extension for debugging? (experimental) No / Yes

Scaffolding project in ./<your-project-name>...
Done.

Si no estás seguro de una opción, simplemente elige No pulsando enter por ahora. Una vez creado el proyecto, sigue las instrucciones para instalar las dependencias e iniciar el servidor de desarrollo:

npm
pnpm
yarn
bun
sh
$ cd <your-project-name>
$ npm install
$ npm run dev

Ahora, ¡deberías tener tu primer proyecto Vue corriendo!. Ten en cuenta que los componentes de ejemplo del proyecto generado están escritos utilizando la Composition API y <script setup>, en lugar de la Options API. He aquí algunos consejos adicionales:

Cuando estés listo para enviar tu aplicación a producción, ejecuta lo siguiente:

npm
pnpm
yarn
bun
sh
$ npm run build

Esto creará una compilación de tu aplicación lista para producción en el directorio ./dist del proyecto. Consulta la guía de Guía de Despliegue a Producción para aprender más sobre cómo enviar tu aplicación a producción.

Siguientes Pasos >

Usando Vue desde un CDN

Puedes usar Vue directamente desde un CDN a través de una etiqueta script:

html
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>

Aquí estamos usando unpkg, pero también puedes usar cualquier CDN que sirva paquetes npm, por ejemplo jsdelivr o cdnjs. Por supuesto, también puedes descargar este archivo y servirlo tú mismo.

Cuando se utiliza Vue desde un CDN, no hay ningún "paso de compilación" involucrado. Esto hace que la configuración sea mucho más simple, y es adecuado para mejorar el HTML estático o la integración con un framework de backend. Sin embargo, no podrás usar la sintaxis de Componentes de un Solo Archivo (SFC).

Usando la Compilación Global

El enlace anterior carga la compilación global de Vue, donde todas las APIs de alto nivel están expuestas como propiedades en el objeto global Vue. Aquí hay un ejemplo completo usando la compilación global:

html
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>

<div id="app">{{ message }}</div>

<script>
  const { createApp } = Vue

  createApp({
    data() {
      return {
        message: '¡Hola Vue!'
      }
    }
  }).mount('#app')
</script>

CodePen Demo >

html
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>

<div id="app">{{ message }}</div>

<script>
  const { createApp, ref } = Vue

  createApp({
    setup() {
      const message = ref('¡Hola vue!')
      return {
        message
      }
    }
  }).mount('#app')
</script>

CodePen Demo >

TIP

Muchos de los ejemplos de la Composition API a lo largo de la guía utilizarán la sintaxis <script setup>, que requiere herramientas de compilación. Si desea utilizar Composition API sin un paso de compilación, consulte el uso de la opción setup().

Usando el Módulo de Construcción ES

En el resto de la documentación, utilizaremos principalmente la sintaxis de módulos ES. La mayoría de los navegadores modernos soportan ahora módulos ES de forma nativa, por lo que podemos usar Vue desde un CDN a través de módulos ES nativos como este:

html
<div id="app">{{ message }}</div>

<script type="module">
  import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'

  createApp({
    data() {
      return {
        message: '¡Hola Vue!'
      }
    }
  }).mount('#app')
</script>
html
<div id="app">{{ message }}</div>

<script type="module">
  import { createApp, ref } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'

  createApp({
    setup() {
      const message = ref('¡Hola Vue!')
      return {
        message
      }
    }
  }).mount('#app')
</script>

Observa que estamos usando <script type="module">, y que la URL importada del CDN apunta a la compilación de módulos ES de Vue.

Habilitar mapas de importación

En el ejemplo anterior, estamos importando desde la URL completa del CDN, pero en el resto de la documentación verás código como este:

js
import { createApp } from 'vue'

Podemos enseñarle al navegador dónde localizar la importación de vue usando Import Maps:

html
<script type="importmap">
  {
    "imports": {
      "vue": "https://unpkg.com/vue@3/dist/vue.esm-browser.js"
    }
  }
</script>

<div id="app">{{ message }}</div>

<script type="module">
  import { createApp } from 'vue'

  createApp({
    data() {
      return {
        message: '¡Hola Vue!'
      }
    }
  }).mount('#app')
</script>

CodePen Demo >

html
<script type="importmap">
  {
    "imports": {
      "vue": "https://unpkg.com/vue@3/dist/vue.esm-browser.js"
    }
  }
</script>

<div id="app">{{ message }}</div>

<script type="module">
  import { createApp, ref } from 'vue'

  createApp({
    setup() {
      const message = ref('¡Hola Vue!')
      return {
        message
      }
    }
  }).mount('#app')
</script>

CodePen Demo >

También puede añadir entradas para otras dependencias al mapa de importación, pero asegúrate de que apuntan a la versión de los módulos ES de la biblioteca que pretendes utilizar.

Import Maps Browser Support

Importar mapas es una función relativamente nueva del navegador. Asegúrate de utilizar un navegador dentro de su rango de compatibilidad . En particular, sólo es compatible con Safari 16.4+.

Notas sobre el Uso en Producción

Los ejemplos mostrados hasta ahora usan la versión de desarrollo de Vue. Si quieres usar Vue desde un CDN en producción, asegúrate de consultar la guía de Guía de Despliegue a Producción).

Si bien es posible utilizar Vue sin un sistema de compilación, un enfoque alternativo a considerar es el uso de vuejs/petite-vue que podría adaptarse mejor al contexto en el que jquery/jquery (en el pasado) o alpinejs/alpine (en el presente) podrían ser utilizados en su lugar.

Separación de los Módulos

A medida que profundizamos en la guía, puede que necesitemos dividir nuestro código en archivos JavaScript separados para que sean más fáciles de gestionar. Por ejemplo:

html
<!-- index.html -->
<div id="app"></div>

<script type="module">
  import { createApp } from 'vue'
  import MyComponent from './my-component.js'

  createApp(MyComponent).mount('#app')
</script>
js
// my-component.js
export default {
  data() {
    return { count: 0 }
  },
  template: `<div>El contador está en {{ count }}</div>`
}
js
// my-component.js
import { ref } from 'vue'
export default {
  setup() {
    const count = ref(0)
    return { count }
  },
  template: `<div>El contador está en {{ count }}</div>`
}

Si abres el index.html de arriba directamente en tu navegador, encontrarás que arroja un error porque los módulos ES no pueden trabajar sobre el protocolo file://, el cual es el protocolo que usan los navegadores cuando abren un archivo local.

Por razones de seguridad, los módulos ES sólo pueden funcionar sobre el protocolo http://, que es el que utilizan los navegadores cuando abren páginas en la web. Para que los módulos ES funcionen en nuestra máquina local, necesitamos servir el index.html sobre el protocolo http://, con un servidor HTTP local.

Para iniciar un servidor HTTP local, primero asegúrate de tener instalado Node.js, luego ejecuta npx serve desde la línea de comandos en el mismo directorio donde está tu archivo HTML. También puedes utilizar cualquier otro servidor HTTP que pueda servir archivos estáticos con los tipos MIME correctos.

Puede que haya notado que la template del componente importado está en línea como una cadena JavaScript. Si estás usando VS Code, puedes instalar la extensión es6-string-html y prefijar las cadenas con un comentario /*html*/ para obtener resaltado de sintaxis para ellas.

Próximos Pasos

Si te has saltado la Introducción, te recomendamos encarecidamente que la leas antes de pasar al resto de la documentación.

Inicio Rápido has loaded