Carlos Alejandro Hernández Mejía
El problema de rutas anidadas ya está resuelto, pero ahora Google impide autenticarte en esta aplicación.
¿Cómo configurar Angular con Guess.js en proyectos con rutas planas?
En este tutorial, te guiaré a través de la configuración de Guess.js con Angular para mejorar la precarga de módulos en tu aplicación. Aunque Guess.js está actualmente en modo beta, lo cual implica ciertas limitaciones, es una herramienta poderosa que ofrece grandes beneficios en entornos de producción. Vamos a ver el proceso paso a paso.
¿Qué necesitas antes de empezar?
Para comenzar con esta configuración, asegúrate de tener una aplicación de Angular completamente funcional. Esto incluye tener un entorno de desarrollo configurado y listo para realizar cambios sobre la estructura base de tu aplicación.
¿Cuáles son los pasos esenciales para la configuración?
Instalación de dependencias: Primero, necesitas instalar las dependencias necesarias en tu proyecto. Utiliza el siguiente comando en tu terminal para realizar la instalación:
npm install @ngx-env @guess/guess-webpack
Este comando instalará los paquetes requeridos para utilizar capacidades de precarga predictiva con Guess.js.
Modificación del archivo de construcción: Dirígete al archivo de configuración de Angular, típicamente angular.json, y ajusta el build para incluir configuraciones específicas de Guess.js:
"architect": { "build": { "builder": "@angular-devkit/build-angular:browser", "options": { "customWebpackConfig": { "path": "./webpack.config.js" } } } }
Configuración de Guess.js y creación de archivo de Webpack nuevo: Crea un archivo llamado webpack.config.js en la raíz de tu proyecto y define la configuración para integrar Guess.js:
const GuessPlugin = require('guess-webpack').GuessPlugin; const { parseRoutes } = require('guess-parser'); module.exports = { plugins: [ new GuessPlugin({ reportProvider() { return Promise.resolve(require('./guess-report.json')); } }) ] };
Integrar Google Analytics: Para permitir que Guess.js funcione correctamente, debes integrar Google Analytics en tu aplicación Angular y generar un ID de seguimiento que posteriormente se deberá incluir en el archivo de configuración de Guess.js.
¿Cómo resolver el problema de las rutas anidadas?
Actualmente, Guess.js no maneja bien las rutas anidadas debido a su estado beta. Sin embargo, puedes optar por utilizar rutas planas mientras se desarrolla una solución o mejora en la biblioteca. Si estás trabajando en un proyecto más pequeño o uno que no requiera rutas complejas, esta es una manera eficiente de implementar Guess.js.
Proceso de construcción y producción
Después de configurar toda la estructura, puedes generar una versión productiva de tu aplicación:
ng build --prod
En este punto, el comando ejecutará el proceso de producción, integrando Guess.js para optimizar la carga predictiva basada en los patrones de navegación de los usuarios.
Consideraciones finales
Guess.js es una herramienta prometedora que puede optimizar tu aplicación para ofrecer una mejor experiencia de usuario, especialmente al precargar los módulos que tienen mayor probabilidad de ser usados. Si bien puede tener algunas limitaciones debido al estar en beta, sus beneficios potenciales la convierten en una opción muy atractiva para desarrolladores de Angular que buscan mejorar el rendimiento de sus aplicaciones.
Asegúrate de que tu implementación cumpla con los requisitos de tu proyecto, y no olvides revisar las actualizaciones sobre Guess.js para posibles nuevas capacidades que te permitan utilizar rutas anidadas en un futuro próximo.
Carlos Alejandro Hernández Mejía
El problema de rutas anidadas ya está resuelto, pero ahora Google impide autenticarte en esta aplicación.
Christian Guevara
Al parecer Guessjs esta bloqueado en el acceso para google :/
Alejandro Valenzuela
Es una excelente herramienta, menos mal que ya fue solucionada para rutas anidadas!.. Saludos
Armando Alexis
Me marco error al compilar con los cambios del builder.
Error: Module D:\Cursos Platzi\platzi-store\src\app\auth\auth-routing.module.ts belongs to more than one module: D:\Cursos Platzi\platzi-store\src\app\app.module.ts, D:\Cursos Platzi\platzi-store\src\app\auth\auth.module.ts
Le di reversa y ya me compilo de forma correcta.
Me parece que estas sesiones ya están desactualizadas para su uso en la versión de angular 13 :/.
Camila Alejandra Cardona Otálora
Cómo saber que modulo es al que se refiere Angular una vez ha compilado?
ulises arturo gonzalez callejas
¿Esto ya se puede usar en angular 12?
Cristian Vargas
x2
Eric Gomez
Guess.js utiliza una técnica llamada captación previa predictiva . Al consumir datos de una fuente de análisis, como Google Analytics, Guess.js permite que nuestras aplicaciones web obtengan recursos previamente solo cuando es probable que sean necesarios, teniendo en cuenta el comportamiento del usuario.
Por ejemplo, supongamos que tenemos un sitio web con tres páginas: inicio , sobre y contactos . Además, supongamos que desde Google Analytics sabemos que hay un 95% de posibilidades de que el usuario visite la página acerca de la página de inicio y solo un 5% de posibilidades de ir a la página de contactos . En este caso, mientras el usuario se encuentra en la página de inicio , podemos descargar todos los recursos de la página acerca de para que la navegación posterior del usuario sea lo más rápida posible. Esta técnica se conoce como captación previa . Cuando realizamos una captación previa basada en una predicción del comportamiento del usuario, estamos aplicando captación previa predictiva.
Luis Gomero
Lo raro es que google no me da el permiso para acceder a mi cuenta de gmail. A alguien le pasa lo mismo?
Duvan Gonzalez
Si, igual Se ha inhabilitado temporalmente el inicio de sesión con Google en esta aplicación
Cristian David Franco Garcia
Issue creado en GitHub: https://github.com/guess-js/guess/issues/408
GRUPORPP SAC 20492353214
Al 2021 -> Esta aplicación está bloqueada Esta aplicación ha intentado acceder a información sensible de tu cuenta de Google. Para proteger tu cuenta, Google ha bloqueado este acceso.
silvana murgo
A alguien mas le dio este error
An unhandled exception occurred: Cannot find module '@angular-builders/custom-webpack/package.json'
Massimo Di Berardino
Hola @silnose, al parecer es un problema al instalar los modulos, prueba borrando las carpetas de node modules y el archivo package-lock.json y corriendo el install de nuevo
Cesar Elías Armendariz Ruano
tengo este error
$ ng build --prod Schema validation failed with the following errors: Data path "" should NOT have additional properties(es5BrowserSupport).
Ulises Rojas González
Revisa que lo estés haciendo las ediciones del angular.json dentro de "build":
"architect": { ... "build": { "builder": "@angular-builders/custom-webpack:browser" "options": { ... } ... } ... }
Y no dentro de "serve"
"architect": { ... "serve": { "builder": "@angular-devkit/build-angular:dev-server" "options": { ... } ... } ... }
Equipo Produccion
Esta configuración no afecta ivy?
silvana murgo
No lo se rick... :S
Juan Pablo Gómez García
Increible
Diego Mantelli
Muy buena herramienta! Es excelente!!
Jose Daniel Barría Reyes
Lo mismo que lo anterior, siempre revisar la documentacion en el momento de implementar la libreria. Esa documentacion suele cambiar y siempre es mejor revisar la forma oficial de implementarlo Puntos imporantes: se usan los siguientes paquetes.
npm install guess-webpack npm install guess-parser