Skip to content

2. Creación de un entorno de trabajo

Retomamos el entorno de trabajo detallado en el documento [2]:

  • Visual Studio Code (VSCode) para escribir los códigos JavaScript;
  • [node.js] para ejecutarlos;
  • [npm] para descargar e instalar las bibliotecas JavaScript que necesitaremos;

Creamos un entorno de trabajo en [VSCode]:

Image

  • en [1-5], abrimos una carpeta [vuejs] vacía en [VSCode];

Image

  • en [8-10], instalamos la dependencia [@vue/cli] que nos permitirá inicializar un proyecto [vue.js]. Esta dependencia conlleva un gran número de paquetes (varios cientos);

En el mismo terminal, a continuación se escribe el comando [vue create .], que solicita crear un proyecto [vue.js] en la carpeta actual (.):

Image

  • en [13], comienza una serie de preguntas que sirven para configurar el proyecto;

Image

  • una vez respondidas todas las preguntas, se descargan nuevos paquetes y se genera un proyecto en la carpeta actual [14].

Veamos qué se ha generado. El archivo [package.json] es el siguiente:


{
  "name": "vuejs",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve vuejs-20/main.js",
    "build": "vue-cli-service build vuejs-20/main.js",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "axios": "^0.19.0",
    "bootstrap": "^4.3.1",
    "bootstrap-vue": "^2.0.2",
    "core-js": "^2.6.5",
    "vue": "^2.6.10",
    "vue-router": "^3.1.3",
    "vuex": "^3.1.1"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "^3.11.0",
    "@vue/cli-plugin-eslint": "^3.11.0",
    "@vue/cli-service": "^3.11.0",
    "babel-eslint": "^10.0.1",
    "eslint": "^5.16.0",
    "eslint-plugin-vue": "^5.0.0",
    "vue-template-compiler": "^2.6.10"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "rules": {},
    "parserOptions": {
      "parser": "babel-eslint"
    }
  },
  "postcss": {
    "plugins": {
      "autoprefixer": {}
    }
  },
  "browserslist": [
    "> 1%",
    "last 2 versions"
  ]
}

Comentarios

  • líneas 14-22: entre las dependencias necesarias para el desarrollo se observan referencias a las dos herramientas [eslint, babel] que ya se utilizaron en los dos capítulos anteriores. A ellas se suman los complementos de estas dos herramientas destinados a su uso dentro de [vue.js];
  • línea 34: es el paquete [babel-eslint] el que llevará a cabo la transpilación de ES6 a ES5 de los códigos jS;
  • líneas 5-9: se han creado tres tareas [npm]:
    • [build]: sirve para construir la versión compilada del proyecto lista para entrar en producción;
    • [serve]: ejecuta el proyecto en un servidor web. Con esta herramienta se realizan las pruebas durante el desarrollo. Al igual que con [webpack-dev-server], cualquier modificación del código fuente del proyecto provoca automáticamente la recompilación del proyecto y su recarga por parte del servidor web;
    • [lint]: sirve para analizar los códigos jS y genera informes. No utilizaremos esta herramienta aquí;

Se ha generado un archivo [README.md] con el siguiente contenido:

# vuejs

## Configuración del proyecto
```
npm install
```

### Compila y recarga en caliente para desarrollo
```
npm run serve
```

### Compilaciones y minificación para producción
```
npm run build
```

### Ejecuta tus pruebas
```
npm run test
```

### Revisiones y correcciones de archivos
```
npm run lint
```

### Personalizar la configuración
See [Configuration Reference](https://cli.vuejs.org/config/).

Este archivo resume los comandos que se deben utilizar para gestionar el proyecto.

Sabemos que en [VSCode] se proponen para su ejecución las tareas [npm]:

Image

  • en [1-3], ejecutamos el comando [serve], que compilará y, a continuación, ejecutará el proyecto [4-5];

En URL [http://localhost:8080], obtenemos la siguiente página:

Image

Más adelante explicaremos qué ha llevado a esta página.

Continuemos configurando nuestro entorno de trabajo:

Image

  • En [2], arriba, vemos los indicadores [git]. [git] es un gestor de código fuente que permite gestionar versiones sucesivas del mismo y compartirlas entre desarrolladores. Vamos a desactivar esta herramienta para el proyecto;
  • en [3-5], vamos a las propiedades del proyecto;

Image

  • en [9-10], desactivamos el uso de [git] en el proyecto;

Vamos a escribir varias pruebas para mostrar el funcionamiento de [vue.js]. Sin embargo, no queremos crear un nuevo proyecto cada vez, ya que entonces habría que generar cada vez una carpeta [node_modules], que ocupa varios cientos de megabytes. Volvamos a las tareas [npm] del archivo [package.json]:


  "scripts": {
    "serve": "vue-cli-service serve vuejs-00/main.js",
    "build": "vue-cli-service build vuejs-00/main.js",
    "lint": "vue-cli-service lint"
  },
  • línea 2: el comando [serve] utiliza por defecto:
    • el archivo [public/index.html];
    • asociado al archivo [src/main.js];

En la línea 2, es posible especificar en el comando [serve] el punto de entrada del proyecto, por ejemplo:


"serve": "vue-cli-service serve vuejs-00/main.js",

Probemos:

Image

  • en [1], la carpeta [src] se ha renombrado como [vuejs-00];
  • en [2-3], se ha modificado el comando [serve];
  • en [4-6], se ejecuta el proyecto;

Se obtiene el mismo resultado que anteriormente:

Image

Para nuestras pruebas, procederemos de la siguiente manera:

  • escribir el código en una carpeta [vuejs-xx] del proyecto;
  • Prueba de este proyecto con el comando [vue-cli-service serve vuejs-xx/main.js] en el archivo [package.json];

Cuando se inicia el servidor de desarrollo, cualquier modificación de uno de los archivos del proyecto provoca una recompilación. Por este motivo, desactivamos el modo [Auto Save] de [VSCode]. De hecho, no queremos que se produzca una recompilación cada vez que se escriben caracteres en uno de los archivos del proyecto. Solo queremos que se recompile en determinados momentos:

Image

  • en [2], la opción [Auto Save] no debe estar marcada;