What are the different ways to remove duplicate service registration?

If a module defines provides and declarations then loading the module in multiple feature modules will duplicate the registration of the service. Below are the different ways to prevent this duplicate behavior.

  1. Use the providedIn syntax instead of registering the service in the module.
  2. Separate your services into their own module.
  3. Define forRoot() and forChild() methods in the module.

June 05, 2022