# Angular: NG04014: Invalid configuration of route 'x': one of the following must be provided: component, loadComponent, redirectTo, children or loadChildren

**Code:** `NG04014` · **Category:** Angular · **Seen on:** Angular, TypeScript

A route object has a path but nothing for the router to render or load.

## Meaning

Each route needs at least one of `component`, `loadComponent`, `redirectTo`, `children` or `loadChildren` (plus `pathMatch: 'full'` for empty-path redirects). Typos in property names (`componet`) and empty objects are common.

## Common causes

- Route without component, loadComponent, redirectTo, children or loadChildren
- Misspelled property name in the route object
- `redirectTo` without `pathMatch: 'full'` on an empty path
- `loadChildren` returning the wrong export (module/routes name)
- Empty route object left from a merge

## Quick fix

1. Add one of the required properties to the route
2. Fix typos in route properties
3. Use `pathMatch: 'full'` for `''` redirects

## Detailed fix by platform

### Angular

1. `{ path: '', redirectTo: 'home', pathMatch: 'full' }` and `{ path: 'home', loadComponent: () => import('./home').then(m => m.HomeComponent) }`

## Code examples

### Valid route shapes

```typescript
export const routes: Routes = [
  { path: '', redirectTo: 'home', pathMatch: 'full' },
  { path: 'home', loadComponent: () => import('./home.component').then(m => m.HomeComponent) },
  { path: 'blog', children: [{ path: ':slug', component: PostComponent }] },
];
```

## How to diagnose

1. **Route** — Which path is named?
2. **Properties** — Does it have component/loadComponent/redirectTo/children?
3. **Export** — Does loadChildren return the right symbol?

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/angular/ng04014-invalid-route-configuration)
