Instalar o migrar a Angular 15 馃叞
驴Quieres instalar Angular 15?, 驴quieres actualizar o migrar a Angular 15?, 驴quieres saber qu茅 trae esta nueva versi贸n de Angular?
驴Qu茅 trae nuevo Angular 15?
Interceptors como funciones
Ahora es posible a帽adir interceptor como una funci贸n, no es necessario hacerlo como una clase, aunque sigue siendo v谩lido hacerlo como clase.
Standalone components
La verdad es que esta funci贸n ya la tra铆a la versi贸n 14, pero era experimental.
Con la versi贸n 15 de Angular se confirma que los componentes standalone han venido para quedarse.
Puedes leer a profundidad en mi siguiente art铆culo 馃憞
Componentes standalone en Angular 馃叞
驴Se ha rendido Angular ante React?
驴Y los ficheros environments?
Cuando creas un proyecto desde 0 con Angular 15 no se crear谩n los famosos environment.ts y environment.prod.ts.
No me gusta, porque me obliga a crearlos manualmente, pero en fin.
Directiva para optimizaci贸n de im谩genes
A煤n no la he podido estudiar en profundidad, pero tiene muy buena pinta.
Consulta esta directiva en la documentaci贸n oficial.
驴C贸mo sabemos con qu茅 versi贸n de Angular estamos trabajando?
Podemos ver qu茅 versi贸n de Angular es con la que estamos trabajando de las varias formas 馃搩
Con el package.json
Abriendo el package.json, en la secci贸n de las dependencias encontraremos el Angular Core y ah铆 podremos ver la versi贸n de Angular
"@angular/animations": "~14.0.0", "@angular/cdk": "^14.0.3", "@angular/common": "~14.0.0", "@angular/compiler": "~14.0.0", "@angular/core": "~14.0.0"
Ejecutando la aplicaci贸n
Ejecutando la aplicaci贸n y en con las herramientas de depuraci贸n del navegador, podremos ver en la inspecci贸n de elementos el ng-version
<app-root _nghost-serverapp-c137="" ng-version="15.0.0">...
Con el CLI
Ejecutando el comando ng version en la consola en el directorio de trabajo, ello te facilitar谩 toda la informaci贸n de tu proyecto de Angular
驴C贸mo actualizar/migrar a Angular 15?
Voy a seguir las recomendaciones del equipo de Angular en su documentaci贸n
Para actualizar mi aplicaci贸n de Angular 14 a Angular 15 que incluye Angular Material seguir茅 los siguiente pasos:
ng update @angular/core @angular/cli
ng update @angular/material
Actualizar Angular CLI globalmente
Te recomiendo actualizar tu Angular CLI de manera global y as铆, cada vez que crees un proyecto nuevo lo har谩s con la 煤ltima versi贸n de Angular
- Para actualizar Angular CLI de forma global sigue los siguientes pasos:
Desinstala Angular CLI
npm uninstall -g @angular/cli
Limpia el cache de npm, y as铆 cuando instalemos la nueva versi贸n de Angular CLI nos aseguramos de que est谩 limpia
npm cache clean --force
Instala la 煤ltima versi贸n estable de Angular CLI
npm i -g @angular/cli
Comprueba que se ha instalado la 煤ltima versi贸n
ng version
Puedes encontrar m谩s informaci贸n acerca de Angular CLI en su p谩gina oficial de npm
Posibles errores
Package '@angular/core' is not a dependency
Es posible que no tengas la carpeta node_modules debido a que has clonado el repositorio. Para solventarlo instala las depencias de proyecto con:
npm install
Cuando todo falla
Cuando todo falla, el procedimiento que uso es:
- Crear un nuevo proyecto con el Angular CLI actualizado a la versi贸n de Angular que quiero
- Eliminar la carpeta node_modules
- Eliminar el fichero package-lock.json
- Modificar las dependencias de mi proyecto de Angular que quiero migrar copiando las versiones del proyecto creado nuevo
- Instalar dependencias con npm install
No es lo m谩s r谩pido, pero funciona.
Las depencias que te recomiendo para Angular 15 son:
"dependencies": { "@angular/animations": "^15.2.0", "@angular/common": "^15.2.0", "@angular/compiler": "^15.2.0", "@angular/core": "^15.2.0", "@angular/forms": "^15.2.0", "@angular/material": "^15.2.9", "@angular/platform-browser": "^15.2.0", "@angular/platform-browser-dynamic": "^15.2.0", "@angular/router": "^15.2.0", "@angular/service-worker": "^15.2.0", "firebase": "^9.20.0", "chart.js": "^3.9.1", "file-saver": "^2.0.5", "ng2-charts": "^4.1.1", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.12.0" }, "devDependencies": { "@angular-devkit/build-angular": "^15.2.6", "@angular/cli": "~15.2.6", "@angular/compiler-cli": "^15.2.0", "@types/file-saver": "^2.0.5", "@types/jasmine": "~4.3.0", "jasmine-core": "~4.5.0", "karma": "~6.4.0", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.0.0", "typescript": "~4.9.4" }
Hasta luego 馃枛