Tengo el siguiente espacio de trabajo de Angular 12:
projects/ lib_a/ lib_b/ host/Donde básicamente:
lib_a contiene algún kit de interfaz de usuariolib_b maneja las cosas de autenticación y depende de lib_a para reutilizar el kit de interfaz de usuariohost es una aplicación que importa ambas bibliotecas Lo que me pregunto es... ¿ es esto posible? ¿Puedo importar lib_a a su hermana lib_b ?
Ambas bibliotecas se pueden compilar bien, pero tan pronto como intento importar una a la otra (digamos, lib_a into lib_b ) aparece el siguiente error:
Building entry point 'lib_b' ------------------------------------------------------------------------------ ✖ Compiling with Angular in legacy View Engine compilation mode. ERROR: Angular structure loaded both synchronously and asynchronouslyBusqué en Google el error y encontré esta pregunta anterior: Cómo solucionar: Error: la estructura angular se cargó de forma sincrónica y asincrónica , así que revisé todas las importaciones y parecían estar bien, luego deshabilité Ivy para ambas bibliotecas y comprobé que no hay ninguna dependencias faltantes. Todavía no tengo nada.
Ninguna de estas bibliotecas está publicada, por lo que sería preferible una solución local (es decir, todavía no puedo implementar el paquete en NPM/GitHub).
También fallé al configurar un espacio de trabajo angular con una biblioteca que hace referencia a otra biblioteca (= monorepo). En su lugar, debe crear un espacio de trabajo NX.
De hecho, esto le permite hacer referencia a bibliotecas de aplicaciones y bibliotecas de otras bibliotecas, todo en el mismo espacio de trabajo.