{"componentChunkName":"component---src-templates-post-template-js","path":"/posts/prototipado-rapido-con-vue/","result":{"data":{"markdownRemark":{"id":"eda84125-35d3-5112-837a-c919cb306f34","html":"<p>Si ya conoces Vue, pero todavia no has utilizado Vue CLI este post te resultará interesante, pues resulta que Vue CLI nos da la facilidad de crear un archivo con extension .vue y verlo en el navegador sin la necesidad de crear una aplicacion completa.</p>\n<p>Primeramente necesitamos instalar de forma global los paquetes de npm que nos van a permitir hacer lo que te he mencionado anteriormente.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">npm</span> <span class=\"token function\">install</span> -g @vue/cli @vue/cli-service-global</code></pre></div>\n<p>Con la instrucción anterior instalamos Vue CLI y también el paquete que nos va a facilitar la tarea de levantar un servidor con cero configuracion para nuestros archivos .vue</p>\n<p>Si al intentar instalar los paquetes te da algun error prueba hacerlo con privilegios elevados, en mac y Linux puedes ejecutar el comando con la instrucción <code class=\"language-text\">sudo</code> en Windows abre el cmd con privilegios de administrador.</p>\n<p>Bien, ahora que ya tenemos instalados los paquetes vamos a probar su funcionamiento, primero vamos a hacer una carpeta para poner dentro los componentes que hagamos, puedes hacerla desde la terminal con el comando:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">mkdir</span> prototipos-vue</code></pre></div>\n<p>Dentro de la carpeta vamos a crear un archivo llamado <code class=\"language-text\">App.vue</code>, lo puedes crear desde la terminal con el comando:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">touch</span> App.vue</code></pre></div>\n<p>Ahora abrimos el archivo con nuestro editor de texto de preferencia, en mi caso lo voy a abrir la carpeta en la que me encuetro ubicado con VS Code desde la terminal con el comando:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">code <span class=\"token builtin class-name\">.</span></code></pre></div>\n<p>Ahora en nuestro archivo <code class=\"language-text\">App.vue</code> escribimos el siguiente código:</p>\n<div class=\"gatsby-highlight\" data-language=\"jsx\"><pre class=\"language-jsx\"><code class=\"language-jsx\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>template</span><span class=\"token punctuation\">></span></span><span class=\"token plain-text\">\n  </span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>h1</span><span class=\"token punctuation\">></span></span><span class=\"token punctuation\">{</span><span class=\"token punctuation\">{</span> saludo <span class=\"token punctuation\">}</span><span class=\"token punctuation\">}</span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>h1</span><span class=\"token punctuation\">></span></span><span class=\"token plain-text\">\n</span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>template</span><span class=\"token punctuation\">></span></span>\n\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>script</span><span class=\"token punctuation\">></span></span><span class=\"token plain-text\">\nexport default {\n  data() {\n    return {\n      saludo: \"Hola desde mi componente\"\n    };\n  }\n};\n</span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<p>Para ver nuestro componente en el navegador debemos levantar el servidor que nos proporciona Vue CLI y especificamente el paquete extra que hemos instalado, lo hacemos con el comando:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">vue serve</code></pre></div>\n<p>Este comando va a realizar la ‘compilacion’ necesaria de nuestro componente y nos lo va a mostrar en el navegador, el resultado en consola de la ejecución del comando debe ser algo como esto:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"> DONE  Compiled successfully <span class=\"token keyword\">in</span> 4184ms\n  App running at:\n  - Local:   http://localhost:8080/\n  - Network: http://192.168.1.3:8080/\n\n  Note that the development build is not optimized.\n  To create a production build, run <span class=\"token function\">npm</span> run build.</code></pre></div>\n<p>Este mensaje nos indica que podemos abrir una URl en nuestro navegador, en est caso <code class=\"language-text\">http://localhost:8080/</code>, al abrirlo veremos nuestro componente.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 624px;\"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/cf976df4eecfc618dba8dc362a2c17a0/857ee/prototipo.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 35.57692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAAsSAAALEgHS3X78AAAA2klEQVQoz52O3WrCQBCF901qWisteNcqiagtxQt96vywu9lNVps8SQgkgZCQ47jQQi9U0gMf83uGYa63wWK5wvbjC+8Lj3Cx3nxSz8PL6xwPkykmzg/PFueReJrBod50Nsebu8XusLd+xrmA1gnS1NiokwSn0zfVqc2V0lBaI44VpIwtQshfpFS0Z2COR+tnQgj4vg9jDKIoAuccWZYhz3M6IhGGIYIgIKOkOsY9sbZtUdf1H5qmsVRVhaIoUJalzS+zruvQ9/1VGP6hYRiuf3gZjuXWUXZvYazOPQvmXukBCrYAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n        <source\n          srcset=\"/static/cf976df4eecfc618dba8dc362a2c17a0/01472/prototipo.webp 240w,\n/static/cf976df4eecfc618dba8dc362a2c17a0/222bd/prototipo.webp 480w,\n/static/cf976df4eecfc618dba8dc362a2c17a0/4481e/prototipo.webp 624w\"\n          sizes=\"(max-width: 624px) 100vw, 624px\"\n          type=\"image/webp\"\n        />\n        <source\n          srcset=\"/static/cf976df4eecfc618dba8dc362a2c17a0/0783d/prototipo.png 240w,\n/static/cf976df4eecfc618dba8dc362a2c17a0/782f4/prototipo.png 480w,\n/static/cf976df4eecfc618dba8dc362a2c17a0/857ee/prototipo.png 624w\"\n          sizes=\"(max-width: 624px) 100vw, 624px\"\n          type=\"image/png\"\n        />\n        <img\n          class=\"gatsby-resp-image-image\"\n          src=\"/static/cf976df4eecfc618dba8dc362a2c17a0/857ee/prototipo.png\"\n          alt=\"protipo-con-vue\"\n          title=\"protipo-con-vue\"\n          loading=\"lazy\"\n        />\n      </picture>\n  </a>\n    </span></p>\n<p>La otra cosa que tenemos disponible con este servidor cero configuración es el <code class=\"language-text\">hot reload</code> de manera que si haces algun cambio en el componente, estos cambios se verán reflejados en el navegador de forma instantanea!</p>\n<p>El paquete tambien admite como punto de entrada los siguientes archivos:</p>\n<ul>\n<li>main.js</li>\n<li>index.js</li>\n<li>App.vue</li>\n<li>app.vue</li>\n</ul>\n<p>Además de estos archivos también puedes especificar el punto de entrada con el comando:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">vue serve MyComponent.vue</code></pre></div>\n<p>Si quieres saber mas acerca de este paquete puedes revisar la documentación oficial en <a href=\"https://cli.vuejs.org/guide/prototyping.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">este enlace</a>.</p>","fields":{"slug":"/posts/prototipado-rapido-con-vue/","tagSlugs":["/tag/vue/","/tag/frontend/"]},"frontmatter":{"date":"2020-01-03T10:00:03.284Z","description":"Si ya conoces Vue, pero todavia no has utilizado Vue CLI, este post te resultará interesante, pues resulta que Vue CLI nos da la facilidad de crear un archivo con extension .vue y verlo en el navegador sin la necesidad de crear una aplicacion completa","tags":["Vue","Frontend"],"title":"Prototipado rápido de aplicaciones con Vue","socialImage":"/media/image-2.jpg"}}},"pageContext":{"isCreatedByStatefulCreatePages":false,"slug":"/posts/prototipado-rapido-con-vue/"}}}