Skip to content

Latest commit

History

History
160 lines (125 loc) 路 5.51 KB

debugging-in-vscode.md

File metadata and controls

160 lines (125 loc) 路 5.51 KB
title type order
Depurando en VS Code
cookbook
8

Toda aplicaci贸n alcanza un punto donde es necesario entender los errores, desde los m谩s chicos a los m谩s grandes. En esta receta, se exploran algunos flujos de trabajo para usuarios de VS Code a quienes les gustar铆a depurar su aplicaci贸n en el navegador.

Esta receta muestra como depurar aplicaciones Vue CLI en VS Code mientras ejecutan en el navegador.

Nota: Esta receta cubre Chrome y Firefox. Si ud sabe como configurar la depuraci贸n en VS Code con otros navegadores, por favor considere compartir sus percepciones (vea al final de la p谩gina).

Prerequisitos

Aseg煤rese de tener VS Code y el navegador de su preferencia instalado, as铆 como tambi茅n la 煤ltima versi贸n de la extensi贸n de depuraci贸n que corresponda instalada y habilitada:

Instale y cree un proyecto con vue-cli, siguiendo las instrucciones en Gu铆a Vue CLI. Mu茅vase dentro del directorio de la aplicaci贸n recientemente creada y abra VS Code.

Mostrando c贸digo fuente en el Navegador

Antes de que pueda depurar sus componentes Vue desde VS Code, necesitar谩 actualizar la configuraci贸n de Webpack generada para poder construir los sourcemaps. Haremos esto para que nuestro depurador tenga una forma de correlacionar el c贸digo del archivo comprimido con la posici贸n en el archivo original. Esto asegura que pueda depurar una aplicaci贸n incluso luego de que sus assets hayan sido optimizados por Webpack.

Si usa Vue CLI 2, configure o actualice la propiedad devtool dentro de index.js:

devtool: 'source-map',

Si usa Vue CLI 3, configure o actualice la propiedad devtool dentro de vue.config.js:

module.exports = {
  configureWebpack: {
    devtool: 'source-map'
  }
}

Lanzando la aplicaci贸n desde VS Code

Haga clic en el icono Depurar en la Barra de Actividad para cargar la vista de Depuraci贸n. Luego haga clic en el icono Engranaje para configurar el archivo launch.json, seleccione Chrome/Firefox: Launch como el entorno. Reemplace el contenido del archivo launch.json generado con la configuraci贸n correspondiente:

Agregar Configuraci贸n Chrome

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "chrome",
      "request": "launch",
      "name": "vuejs: chrome",
      "url": "http://localhost:8080",
      "webRoot": "${workspaceFolder}/src",
      "breakOnLoad": true,
      "sourceMapPathOverrides": {
        "webpack:///src/*": "${webRoot}/*"
      }
    },
    {
      "type": "firefox",
      "request": "launch",
      "name": "vuejs: firefox",
      "url": "http://localhost:8080",
      "webRoot": "${workspaceFolder}/src",
      "pathMappings": [{ "url": "webpack:///src/", "path": "${webRoot}/" }]
    }
  ]
}

Poniendo un Breakpoint

  1. Ponga un breakpoint en src/components/HolaMundo.vue en la l铆nea 90 donde la funci贸n data devuelve una cadena de texto.

Renderizador de Breakpoint

  1. Abra su terminal favorita en la carpeta ra铆z y corra su aplicaci贸n usando Vue CLI:
npm start
  1. Vaya a la vista de Depuraci贸n, seleccione la configuraci贸n 'vuejs: chrome/firefox', luego presione F5 o haga clic en el bot贸n verde de reproducir.

  2. Su breakpoint deber铆a ser alcanzado una vez que la nueva instancia de su navegador se abra: http://localhost:8080.

Breakpoint Alcanzado

Patrones Alternativos

Vue Devtools

Hay otros modelos de depuraci贸n, variando en complejidad. El m谩s simple y popular es usar el excelente Vue.js devtools para Chrome y para Firefox. Algunos de los beneficios de trabajar con las devtools es que le permite editar las propiedades y ver los cambios reflejados en tiempo real. El otro gran beneficio es la habilidad de depurar viajando en el tiempo para Vuex.

Devtools Depurador viajando en el tiempo

Por favor tenga presente que si la p谩gina usa una compilaci贸n minificada de producci贸n de Vue.js (como ser el link est谩ndar del CDN), la inspecci贸n de devtools estar谩 deshabilitada por defecto lo cual no mostrar谩 el panel de Vue. Si se cambia a una versi贸n no minificada, quiz谩s sea necesario que recargue la p谩gina forzadamente para poder verlo.

Simple Sentencia Debugger

El ejemplo anterior tiene un gran flujo de trabajo. Sin embargo, hay una opci贸n alternativa donde puede usar la sentencia nativa debugger directamente en su c贸digo. Si elige trabajar de esta forma, es importante que recuerde remover las sentencias una vez haya terminado.

<script>
export default {
  data() {
    return {
      message: ''
    }
  },
  mounted() {
    const hello = 'Hola Mundo!'
    debugger
    this.message = hello
  }
};
</script>

Expresiones de gratitud

Esta receta se basa en una contribuci贸n de Kenneth Auchenberg, disponible aqu铆.