Introducción a Angular y Fundamentos

1

Aprende Angular 17

2

Creando tu primer proyecto en Angular

3

Implementando estilos

4

Mostrando elementos

5

Property Binding en Angular

6

Event Binding: click y doble click

7

Event binding: keydown

8

Modelo de reactividad con Signals

9

Creando un Signal en Angular

Estructuras de control en Angular

10

Directivas de control

11

Uso de ngFor

12

ngFor para objetos

13

Update Tasks

14

Uso de ngIf

15

Uso de ngSwitch y ngSwitchDefault

16

Controlando un input

17

Manejo de formularios en Angular

Alistando tu aplicación para producción

18

Estilos al modo Angular

19

Clases en Angular

20

Editing mode

21

Estados compuestos con computed

22

Usando effect para localStorage

23

Uso de ngbuild

24

Despliegue con Firebase Hosting

25

Nueva sintaxis en Angular

26

Directivas @For, @switch

27

Migrando a la nueva sintaxis de Angular v17

Componentes Reutilizables y Comunicación

28

Construyendo un e-commerce en Angular

29

Componentes en Angular

30

Mostrando los componentes

31

Angular DevTools

32

Uso de Inputs en Angular

33

Uso de Outputs en Angular

34

Componentes para Producto

Ciclo de vida de los componentes

35

Ciclo de vida de componentes

36

Ciclo de vida de componentes: ngOnChanges

37

Ciclo de vida de componentes: ngOnInit

38

Detectando cambios en los inputs

39

Evitando memory leaks con ngDestroy

40

Audio player con ngAfterViewInit

41

Creando la página "about us" o "conócenos"

Mejorando la interfaz del producto

42

Creando componente de productos

43

Creando el Header

44

Creando el carrito de compras

45

Comunicación padre e hijo

46

Calculando el total con ngOnChanges

47

El problema del prop drilling

48

Reactividad con signals en servicios

49

Entendiendo la inyección de dependencias

Integración y Datos

50

Obteniendo datos una REST API

51

Importaciones cortas en Typescript

52

Pipes en Angular

53

Construyendo tu propio pipe

54

Utilizando librerías de JavaScript en Angular

55

Conociendo las directivas

56

Deployando un proyecto en Vercel

Enrutamiento y Navegación

57

Ruta 404

58

Uso del RouterLink

59

Vistas anidadas

60

Uso del RouterLinkActive

61

Detalle de cada producto

62

Obteniendo datos del producto

63

Galería de imagenes

64

Detalle de la galería

Perfeccionando tu e-commerce

65

Mostrando categorias desde la API

66

Url Params

67

LazyLoading y Code Splitting

68

Aplicando LazyLoading

69

Prefetching

70

Usando la nueva sintaxis de Angular 17

71

Lanzando tu aplicación a producción

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

12 Días
13 Hrs
27 Min
39 Seg

Despliegue con Firebase Hosting

24/71
Recursos

Aportes 28

Preguntas 8

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Si a alguno le aparece un mensaje de Firebase Hosting Setup Complete You're seeing this because you've successfully setup Firebase Hosting. Now it's time to go build something extraordinary Primero verifiquen que su carpeta `dist/<name-project>` No exista una carpeta `browser` Si existe cuando ejecuten el `firebase init` y llegue el momento de escribir la informacion en public ponga el path tal cual `dist/<name-project>/browser` Y adicional antes de ejecutar `firebase deploy ` verifiquen que en el archvo `firebase.json` No este esta configuracion   "rewrites": \[      {        "source": "\*\*",        "destination": "/index.html"      }    ] ```js "rewrites": [ { "source": "**", "destination": "/index.html" } ] ```Si esta configuracion existe, borrarla y dejar unicamente la primera parte y luego si ejecutar el `firebase deploy` Ya con esto no deberian tener incovenientes. Si alguno de aqui sabe como hacer para que angular no genere la carpeta browser quedo atento a sus comentarios.
Con esta configuración me funcionó. ![](https://static.platzi.com/media/user_upload/image-eaaaf7f5-d9bc-4172-a005-2f5d2dea2372.jpg)

.gitignore (Firebase)

# Created by https://www.toptal.com/developers/gitignore/api/firebase
# Edit at https://www.toptal.com/developers/gitignore?templates=firebase

### Firebase ###
.idea
**/node_modules/*
**/.firebaserc

### Firebase Patch ###
.runtimeconfig.json
.firebase/

# End of https://www.toptal.com/developers/gitignore/api/firebase
<https://todoapp-angular-ashy.vercel.app/> lo realice con vercel, me parece mas comodo
Al hacer deploy y abrir el link de mi aplicación me aparece este prompt : Welcome # Firebase Hosting Setup Complete You're seeing this because you've successfully setup Firebase Hosting. Now it's time to go build something extraordinary! [OPEN HOSTING DOCUMENTATION](https://firebase.google.com/docs/hosting/) No lo he podido solucionar, cualquier ayuda o sugerencia se agradece mucho.

Si observan que el directorio dist genera un directorio browser, revisen las configuraciones de “architect.build.builder”

en caso de salir este mensaje en mi caso hice estos pasos ![](https://static.platzi.com/media/user_upload/Untitled-5e027c41-dd55-4abb-8985-de89fb3a1bf5.jpg) npm uninstall -g firebase-tools ![](https://static.platzi.com/media/user_upload/Untitled2-a8992517-4bff-4510-b68f-1ed333a4aa76.jpg) elminar de forma manual .**firebaserc** y **firebaserc** volver a instalar npm install -g firebase-tools firebase login ... colocar la ruta correcta en mi caso era "dist/todoapp/browser" firebase init
Hola, lo que sucedio es que si solo le vuelven a dar firebase init el index.html que esta ya sobrescrito en dist/\<tu proyecto>/browser (si lo tienes ahi) es el que tienesobrescrito lo de hosting y lo redirige, lo ideal es dar primero ng build para reiniciar de 0 el build y luego el firebase init sin sobrescribir nada
Hola a todos, quiero dejar mi aporte para la discusión del tema de que no funciona el deploy. Si dentro de `dist` existe la carpeta `browser` y están viendo el mensaje **Firebase Hosting Setup Complete** luego de hacer el deploy, deben hacer lo siguiente (esto es lo que me funcionó a mi): 1. Correr el `ng build` 2. Ejecutar `firebase init` y seleccionar la opción de Hosting (la que dijo el profesor). 3. Cuando les pregunte por el directorio público deben poner la ruta `dist/<nombre-de-tu-proyecto>/browser` . Lo único diferente aquí a lo que dijo el profesor es que se agrega el `/browser` 4. En la opción de sobreescribir el index.html darle **NO** 5. Hacer el deploy `firebase deploy` 6. Cuando accedan a la url del proyecto deben borrar la caché Y listo, eso es todo.
Los que están trabajando con Windows y Git Bash. Ojo con con el backslash en ruta. ```js dist\todoapp\browser ```dist\todoapp\browser
A mi me manda estos errores: ![](https://static.platzi.com/media/user_upload/image-415ae036-d334-4b52-9ea5-1830ca581774.jpg) Ya probe varias de las soluciones recomendadas y persisten los errores
Gracias Nicolas, hace mucho tiempo me hice el de angular 8 y ahora con este siento que aporta mucho conocimiento incluyendo este despliegue a firebase, eres un crack!
Si alguien está teniendo problemas con el hoisting, me funcionó abrir el link de la aplicación en modo incógnito o en otro navegador. También puedes intentar usar la ruta: `dist/"nombre de tu app"/browser`
Si te sale el error de Welcom Firebase, fijate que el index.html este en la carpeta dist/\<nombre-del-proyecto>/browser. Si es asi lo primero , como ya as hecho el deploy una vez tienes que borrar la cache y luego si volver a hacer el init con esta ruta. Lo intente mil veces y hasta que no borre la cache no me salia.
cordial saludo, Después de intentar solucionar y seguir las recomendaciones de algunos quienes daban alguna solución para ver la aplicación desplegada con firebase, la única forma en que puedo ver el despliegue es autocompletando la url que da al final de realizar el deploy: Hosting URL: <https://todoapp-2b566.web.app> para ver la aplicación desplegada tuve que adicionar la palabra home y/o labs, de la siguiente manera: <https://todoapp-2b566.web.app/home> Si solo empleo la url tal cual la da , solo me arroja la pagina en blanco.
*Hoola estoy en 03/2024* A mi me funciono primero hacer los cambios en el archivo angular.json que comentaban y luego usar el comando ***firebase init hosting*** con ese comando segui ya las instrucciones del video y logre hacer el deploy ![](https://static.platzi.com/media/user_upload/Screenshot%202024-03-18%20at%208.41.09%E2%80%AFp.m.-a219c036-7712-4a89-8edb-11a54cce7036.jpg)
A mi me funcionó con el path `dist/name-app/browser` Ejecute luego desde `firebase init` y los pasos siguientes
Que terminal usa el profesor? Trabaja en entorno windows y me parece que le es muy util

Comparto mi despliegue de Todoapp 😎👇

https://todoapp-rho-drab.vercel.app/
Estoy teniendo problemas con el login de Firebase. `Error: Cannot run login in non-interactive mode. See login:ci to generate a token for use in non-interactive environments.` Como la consola de Linux de WSL me estaba generando problemas, usé bash para todo el proyecto. Creo que es eso lo que me genera el error, pero no estoy encontrando la forma de iniciar sesión para subir el proyecto
Comparto mi link :3 <https://mydayapptasks.web.app/>
No funciona, me aparece siempre esto: ## Welcome # Firebase Hosting Setup Complete You're seeing this because you've successfully setup Firebase Hosting. Now it's time to go build something extraordinary! [OPEN HOSTING DOCUMENTATION](https://firebase.google.com/docs/hosting/)
Recuerda que cada vez que cada vez que quieras hacer el deploy (Subir tus avances al hosting de Firebase), debes ejecutar el comando: ```js ng build ```Ya que con eso, actualizas la carpeta dist con tus nuevos cambios. Luego, darle a: ```js firebase deploy ```Y listo!
"Me funcionó usando `firebase init hosting` en vez de `firebase init` y `firebase deploy --only hosting` en vez de `firebase deploy`."
Hola, les comparto mi gestor de tareas: <https://todo-151da.web.app/> Cambie un poco los estilos y lo hice en formato tabla. Tarda un poco en cargar porque el hosting q use para cargar la persistencia es un poco lento. Simulé la parte backend con un JsonServer.
[Todoapp (marioluevano.online)](https://todoapp.marioluevano.online/)
Me funciono luego de hacer un refresh furioso (**ctrl+shift+r varias veces**) en *chrome* (en *firefox* anduvo porq nunca lo abro). Me tiraba **404 not found** de todos los *scripts* y *css minificados* que genera el **ng build**. Antes igual pase por varios errores desde la sobre-escritura del firebase init de mi index.html, a suprimir a mano la carpeta *browser* dentro de *dist/\<projectName>* etc