@NgModule

Declares an Angular module that groups components, directives, and providers.

Since Angular 2+ Spec ↗

Syntax

@NgModule({ declarations, imports, exports, providers })

Parameters

NameTypeRequiredDescription
config NgModuleMetadata No Module metadata listing declarations, imports, exports, providers.

Returns

ClassDecorator — Decorator defining a module.

Examples

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { LegacyComponent } from './legacy.component';

@NgModule({
  declarations: [LegacyComponent],
  imports: [CommonModule],
  exports: [LegacyComponent],
})
export class LegacyModule {}

Notes

NgModules are legacy organization in Angular 20; new code should use standalone components and bootstrapApplication instead. Modules remain useful for integrating older libraries. Standalone components can import NgModules and vice versa during migration.