Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

323
Views
Núcleo angular/funciones/módulos compartidos: qué va a dónde

En primer lugar, no es un duplicado de ninguna otra pregunta y he leído la guía angular sobre eso. Sin embargo, todavía tengo varias preguntas.

El módulo de funciones es el más fácil: tiene una función, agrúpela en un módulo de funciones. Digamos que, además de la característica obvia, tengo las páginas que tiene cada aplicación:

  1. Página principal de destino (no app.template.html, sino algo que representa primero en su salida de enrutador)
  2. Páginas de error, como 404
  3. página de contactos, página sobre nosotros

Probablemente podría mover todo al módulo de características llamado 'estático' pero no me gusta el nombre y tampoco me gusta agrupar la mayoría de las cosas no relacionadas en el mismo módulo, es decir, la página de error y la página de contacto. Entonces, ¿qué es un patrón para las páginas mencionadas?

Ahora, módulo compartido vs central. Tengo los siguientes artículos:

  1. CsrfService (suena como el principal para mí)
  2. Registrador (servicio de registrador angular2)
  3. HttpModule (¿núcleo o compartido?)
  4. Logged-in-guard y AuthService (tengo NavbarComponent/NavbarModule y LoginComponent usando AuthService), entonces, ¿son una función (inicio de sesión/autenticación) o son un núcleo/compartido?

Entonces, la pregunta principal es cómo elegir decidir por los artículos que enumeré y por artículos nuevos como esos.

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Las respuestas a su pregunta son subjetivas, sin embargo, hay algunas recomendaciones de documentos oficiales que puede seguir: ¿Qué tipo de módulos debo tener y cómo debo usarlos? . Si no ha leído los documentos sobre NgModule y las preguntas frecuentes, le sugiero que pase unas horas estudiándolos, las cosas serán mucho más claras (al menos lo fueron para mí :)

Estoy usando la siguiente configuración y funciona bastante bien para mí :

  • app/ shared : este es el módulo en el que guardo cosas pequeñas que todos los demás módulos necesitarán. Tengo 3 submódulos allí, directives , components y pipes , solo para mantener las cosas un poco mejor organizadas. Ejemplos: filesize.pipe del archivo.pipe , click-outside.directive outside.directive , offline-status.component ...
  • app/ public - En este módulo mantengo las rutas públicas y los componentes de nivel superior. Ejemplos: about.component , contact.component , app-toolbar.component
  • app/ core : los servicios que necesita la aplicación (y sin los que no puede funcionar) van aquí. Ejemplos: ui.service , auth.service , auth.guard , data.service , workers.service ....
  • app/ protected - Similar a public , solo para usuarios autorizados. Este módulo tiene rutas protegidas y componentes de primer nivel. Ejemplos: perfil-de- user-profile.component , panel.componente, dashboard.component dashboard-sidebar.component ...
  • app/ features : este es el módulo donde se encuentran las funcionalidades de la aplicación. Están organizados en varios submódulos. Si su aplicación reproduce música, aquí es donde irían los submódulos de player , playlist de reproducción y favorites . Si observa @angular/material2 , este sería un equivalente a su MaterialModule y muchos submódulos, como MdIconModule , MdSidenavModule , etc.
  • app/ dev : utilizo este módulo cuando desarrollo, no lo envío en producción.

Los consejos generales serían:

  • organizar características por funcionalidad, no por páginas
  • mantener rutas similares en su propio módulo (bueno para carga diferida)
  • los servicios que la aplicación necesita para funcionar van al núcleo
  • las cosas que importas más de una vez (o dos) probablemente sean buenas para compartir
  • leer documentos en detalle, hay muchas cosas buenas allí

Para responder a sus preguntas específicas: pondría todas esas rutas en un módulo: static , public , cualquiera que sea el nombre. CsrfService - core, Logger - core o dev, HttpModule - core, solo necesita una instancia (probablemente), auth - core. No ponga servicios en compartido.

Si no puede decidir cómo/qué agrupar en una característica, cree una nueva aplicación, copie la carpeta de características específicas y debería funcionar allí también. Si no es así, tendrás que organizar mejor las cosas.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!