Ejecutar Vue.js para desarrollo desde un dominio distinto a localhost

Para cada proyecto que comienzo me creo un host virtual en mi servidor web local que apunte a la carpeta de desarrollo con un dominio tipo nombreProyecto_dev. Luego añado una entrada a /etc/hosts apuntando ese dominio inventado a 127.0.0.1. Esto permite detectar en el código cuándo estamos en un servidor de desarrollo y cuándo estamos en producción.

Pero el entorno de desarrollo de Vue.js sirve nuestra página desde localhost:8080, y esto es un problema. Supongamos que el código PHP del proyecto se sirve desde el dominio proyecto_dev: cuando hagamos una llamada desde JS (en localhost) a PHP (en proyecto_dev) las cookies no se enviarán, ya que se trata de dominios distintos.

Para solucionar esto editamos (o creamos, si no existe) el fichero vue.config.js en el directorio raíz de nuestra aplicación y añadimos estas líneas:

module.exports = {
    configureWebpack: {
        devServer: {
            host: 'proyecto_dev',
            port: '8080'
        }
    }
}

Una utilidad imprescindible para línea de comandos: screen

Cuando trabajamos con línea de comandos en servidores remotos hay veces que debemos ejecutar alguna tarea que requiere tiempo. En estos casos, si perdemos la conexión con el servidor no podremos saber de una forma sencilla cuándo se ha terminado de ejecutar esa tarea, ya que aunque podamos reconectarnos la sesión de terminal se habrá perdido.

Para evitar esto podemos usar screen, que nos permite tener varias “sesiones” abiertas. Si perdemos la conexión al servidor mientras estamos dentro de una de las sesiones al volver a conectar podremos recuperar la sesión en la que estábamos sin problema. Esa es su ventaja número uno.

Su segunda ventaja es que permite dividir la pantalla en dos de forma horizontal y vertical. Esto es algo que pueden hacer los programas gráficos de terminal, podemos tener tantas pestañas abiertas en un servidor como queramos, pero no está de más conocerlo porque hay casos en los que nos resultará más cómodo tener la información de dos sesiones a la vista al mismo tiempo. Aquí hay un listado con los comandos más habituales de screen.

Bonus tip: para simplificar un poco el uso de screen existe una utilidad llamada screenie que no es más que un pequeño interfaz de texto para crear nuevas sesiones o conectarse a las existentes.