mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
This commit creates and exposes the APIs required to use the Angular Router without importing `RouterModule`.
The newly added APIs are tree-shakable and you can add features using special functions rather than using `ExtraOptions` to control the providers via an internal switch in Router code.
```
const appRoutes: Routes = [];
bootstrapApplication(AppComponent,
{
providers: [
provideRouter(appRoutes,
withDebugTracing(), // enables debug tracing feature
withInMemoryScrolling() // enables scrolling feature
]
}
);
```
This "features" pattern allows for router behavior to evolve in a backwards compatible and tree-shakable way in the future. This approach also makes features more discoverable.
The newly added APIs can be used in any application today (doesn't require an application to be bootstrapped using standalone-based APIs).
Note: APIs added in this commit are released in the "Developer Preview" mode, read more about this mode in Angular docs: https://angular.io/guide/releases#developer-preview
PR Close #47010
|
||
|---|---|---|
| .. | ||
| e2e | ||
| src | ||
| .browserslistrc | ||
| .editorconfig | ||
| .gitignore | ||
| angular.json | ||
| BUILD.bazel | ||
| check-output-for-ngdevmode.js | ||
| karma.conf.js | ||
| package.json | ||
| README.md | ||
| tsconfig.app.json | ||
| tsconfig.json | ||
| tsconfig.spec.json | ||
| tslint.json | ||
| yarn.lock | ||
CliHelloWorldLazy
This test checks bundle sizes when there is a lazy module. It also checks if the ngDevMode global variable and string references in packages/core/src/util/ng_dev_mode.ts are correctly removed.
This test contains a lazy route to ensure ngDevMode removal happens even across chunks, and a payload size check in /goldens/size-tracking/integration-payloads.json to ensure extra code is not retained accidentally.