= Cómo usar AWS Amplify para implementar una aplicación React = == Una guía para implementar aplicaciones React con AWS Amplify == ![ ](httpsmiro.medium.com/max/1400/1*pKiBeVwoxaHc_QlhIpVgSA.gif) Desde que comencé a consultar como ingeniero de software, he querido armar un sitio web de cartera que muestre los Proyectos personales y profesionales en los que he trabajado. En estas vacaciones de invierno, pasé tiempo diseñando, desarrollando e implementando el sitio de mi cartera y, en este artículo, le mostraré cómo lo implementé con AWS Amplify. Puede ver el sitio web en dan-murphy.com y el código en GitHub. = Breves antecedentes = La mayor parte de mi trabajo profesional implica la creación de aplicaciones basadas en datos y la optimización de las canalizaciones de datos. Para realizar estas tareas, uso regularmente Python y Ruby e incorporo JavaScript para cualquier trabajo de interfaz. En un esfuerzo por sentirme más cómodo con React, decidí usar el marco para construir el sitio web de mi cartera. = Configuración de la aplicación = El primer paso que di fue decidir cómo estructurar la aplicación. yo utilicé create-react-app como plantilla base para mis directorios y luego reestructuré la aplicación con algunas carpetas adicionales. La configuración finalizada se ve así: origen componentes âÃÂÃÂarchivos âÃÂÃÂextras âÃÂÃÂdatos âÃÂÃÂimgs paginas âÃÂÃÂcontenido âÃÂÃÂdatos estilos pruebas accesorios Algunos de los cambios notables son la **componentes** , y **páginas** directorios. **estilos** , : Aquí es donde almaceno todos los componentes de la aplicación. Al almacenar los componentes en una carpeta centralizada, es más fácil reutilizar y refactorizar mi código y más intuitivo para que otros lo entiendan. Algunos de los componentes que componen el sitio web de mi cartera son componentes Encabezamiento, Pie de página, y Barra lateral del proyecto. : Aquí es donde construyo las distintas páginas para la aplicación. Importo los componentes necesarios desde el paginas carpeta y luego agregarlos para diseñar la página. Aquí hay un ejemplo de cómo hice esto para el página de inicio de componentes: : Aquí es donde defino estilos CSS globales para la aplicación. me encanta usar estilos componentes con estilo para componentes individuales, pero también lo he encontrado útil para crear estilos globales que están disponibles para cada página. Por último, para asignar las solicitudes a las páginas correctas, usamos reaccionar-enrutador-dom. Las rutas se definen en el Archivo App.js como se muestra a continuación: Esto mapeará Página principal, /solicitudes de proyectos a Página de proyectos, /acerca de las solicitudes a Acerca de la página y /solicitudes de estantería a Página de libro. Ahora que el desarrollo de la aplicación está completo, ¡necesitamos implementarla para que otros puedan usarla! /solicitudes a = Implementación con AWS Amplify = == Resumen == Hay varias formas de implementar un sitio web de React, pero he descubierto que una de las más simples es usar **AWS Amplify Amplify se describe como la forma más rápida y sencilla de crear aplicaciones móviles y web escalables. Para lograr esto, AWS extrapola todas las complicaciones de configurar un servidor, instalar dependencias y crear una compilación de producción de su sitio web, lo que le permite concentrarse únicamente en crear una experiencia de usuario intuitiva. Para obtener más información sobre lo que ofrece AWS Amplify para aplicaciones basadas en datos (específicamente, sitios web con **frontend** y **backend, consulte su documentación. == Conectando tu Repositorio == Para alojar su aplicación web en AWS Amplify, primero debe conectarse al repositorio que contiene su código fuente. Para ello, puede navegar a la *AWS Amplify* *Primeros pasos* **Aloje mi aplicación web y haga clic en **Conectar repositorio de aplicaciones *página, desplácese hasta*página, desplácese hasta ) Luego, serás redirigido a una página separada donde puedes conectarte al repositorio que contiene tu código fuente. Para este ejemplo, elegiré GitHub, pero AWS Amplify también admite BitBucket, GitLab, AWS CodeCommit e incluso la implementación sin un proveedor de Git. ![ ](httpsmiro.medium.com/max/1400/1*Dq8nN8mntiNegYIXarbtAw.png) Después de una autorización exitosa, puede seleccionar qué repositorio desea implementar y seleccionar la rama que debe usar AWS Amplify para las compilaciones de producción. ![ ](httpsmiro.medium.com/max/1400/1*OOlYA6q2eCplw4hW2IQP8Q.png) Después de eso, haga clic en **Siguiente** y AWS le pedirá que configure sus ajustes de *compilación* y *prueba*. La plantilla base que proporciona AWS se muestra a continuación. versión 1 Interfaz: etapas: preconstruir: comandos: - compilación de instalación de npm: comandos: - compilación de ejecución de npm artefactos: directorio base: construir archivos: - cache: caminos: - node_modules Adicionalmente, bajo el Alternar **configuración avanzada**, puede establecer variables de entorno y un contenedor de compilación personalizado. Finalmente, después de revisar la configuración de su aplicación, haga clic en **Guardar e implementar **y **AWS comenzará a configurar e implementar su aplicación. Cuando AWS termine de implementar, puede navegar a la página de inicio de Amplify y ver su aplicación recién implementada. AWS comenzará a configurar e implementar su aplicación. Cuando AWS termine de implementar, puede navegar a la página de inicio de Amplify y ver su aplicación recién implementada. Ahora, vamos a personalizar la URL usando **Gestión de dominios de AWS Amplify == Agregar un dominio personalizado == Para comenzar a agregar un dominio personalizado, navegue a la barra lateral izquierda y seleccione **administración de dominios![ ](httpsmiro.medium.com/max/1400/1*fo8ZsKK7c3QvAwpjzMXcWg.png) Configuración de **administración de dominio**. Luego, seleccione **agregar dominio **configurar dominio **ingrese su nombre de dominio (como se muestra a continuación) y haga clic**ingrese su nombre de dominio (como se muestra a continuación) y haga clic en ![ ](httpsmiro.medium.com/max/1400/ 1*e57WryLPPTC7Ro-_d5XAgQ.png) Después de esto, puede configurar cualquier redireccionamiento que sea necesario para su dominio. Por ejemplo, en el siguiente ejemplo, creo una redirección de httpsdan-murphy.com a httpswww.dan-murphy.com. ![ ](httpsmiro.medium.com/max/1400/1*yvEwLJmVK41H7ZPqDLB9Tg.png) Finalmente, después de que su dominio personalizado esté configurado correctamente, AWS le proporcionará un **Certificado de validación También puede ver este certificado en la consola de AWS Certificate Manager. == Agregar un registro CNAME == El último paso para configurar su dominio personalizado es agregar un registro CNAME. En el siguiente ejemplo, uso Google Domains, pero los conceptos fundamentales siguen siendo los mismos en diferentes registradores de dominios. Primero, desplácese hacia abajo hasta **Registros de recursos personalizados** en Google Domains. Cree un registro *CNAME *que dirija todos los subdominios al dominio de AWS Amplify: Nombre: ingrese el nombre del subdominio. Si el subdominio es www.dominio.com, ingrese . Si es www app.domain.com, ingrese app. Datos: en la página de administración del dominio, haga clic en Acciones y luego seleccione Ver registros DNS. Luego, ingrese el dominio de AWS Amplify disponible en Configurar proveedor de DNS. ![ ](httpsmiro.medium.com/max/1400/1*SSRoAAkYjf5dT2rD-kmEQw.png) Página **Administración de dominios**, seleccione **Acciones **Ver registros DNS** En conjunto, el registro de recursos personalizado tendrá el siguiente aspecto: ![ ](httpsmiro.medium.com/max/1400/1*bZh8t77JswwonKCFyp7tog.png) A continuación, agregue uno más Registro *CNAME* que apunta al servidor de validación de AWS Certificate Manager. El AWS Certificate Manager validado maneja TLS para su aplicación: Nombre: ingrese el subdominio del servidor de validación. Si el registro DNS para verificar la propiedad de su dominio es _1234.example.com, ingrese solo _1234. Datos: ingrese el certificado de validación de ACM. Si el servidor de validación es _1234.abcdefg.acm-validations.aws., ingrese _1234.abcdefg.acm-validations.aws. Toda la información de sus Certificados de Validación se encuentra en la consola de AWS Certificate Manager. Después del segundo Se agrega *CNAME*, sus registros personalizados deberían verse así: ![ ](httpsmiro.medium.com/max/1400/1*79yex2fObLiK0Q0f0X4zeA.png) Por último, agreguemos un **Registro sintético** para configurar un reenvío de subdominio: Subdominio: ingrese la URL del dominio: www. ![ ](httpsmiro.medium.com/max/1400/1*xi6ivE7Vsfz9AheFAHxPZQ.png) = Resumiendo = En general, en este artículo, aprendimos cómo estructurar aplicaciones React e implementarlas con AWS Amplify. Primero, discutimos cómo modularizar una aplicación de reacción en *componentes* *páginas* carpetas. Luego, aprendimos sobre **AWS Amplify** y cómo implementar aplicaciones estáticas y basadas en datos con él. Finalmente, aprendimos sobre el uso de **AWS Amplify Domain Management** y **Google Domains **para personalizar el dominio de nuestra aplicación. **y y Si tiene alguna pregunta, inquietud o comentario sobre este artículo o el sitio de mi cartera, no dude en comentar o enviarme un correo electrónico a *[email protected]*. ¡Gracias por leer!