diff --git a/templates/app-nolayers/angular/src/app/app.config.ts b/templates/app-nolayers/angular/src/app/app.config.ts
index 6247f27fce..5fcd465589 100644
--- a/templates/app-nolayers/angular/src/app/app.config.ts
+++ b/templates/app-nolayers/angular/src/app/app.config.ts
@@ -1,6 +1,6 @@
import {ApplicationConfig, importProvidersFrom} from '@angular/core';
import {provideAnimations} from "@angular/platform-browser/animations";
-
+import {provideRouter} from "@angular/router";
import { appRoutes } from './app.routes';
import { APP_ROUTE_PROVIDER } from './route.provider';
import { provideAbpCore, withOptions } from '@abp/ng.core';
@@ -18,6 +18,7 @@ import {SideMenuLayoutModule} from "@abp/ng.theme.lepton-x/layouts";
export const appConfig: ApplicationConfig = {
providers: [
+ provideRouter(appRoutes),
APP_ROUTE_PROVIDER,
provideAbpCore(
withOptions({
diff --git a/templates/module/angular/projects/dev-app/src/app/app.component.ts b/templates/module/angular/projects/dev-app/src/app/app.component.ts
index 3a2a61014e..bea8e842f1 100644
--- a/templates/module/angular/projects/dev-app/src/app/app.component.ts
+++ b/templates/module/angular/projects/dev-app/src/app/app.component.ts
@@ -1,11 +1,13 @@
import { Component } from '@angular/core';
+import {LoaderBarComponent} from "@abp/ng.theme.shared";
+import {DynamicLayoutComponent} from "@abp/ng.core";
@Component({
- standalone: false,
selector: 'app-root',
template: `
-
+ ,
`,
+ imports: [LoaderBarComponent, DynamicLayoutComponent]
})
export class AppComponent {}
diff --git a/templates/module/angular/projects/dev-app/src/app/app.module.ts b/templates/module/angular/projects/dev-app/src/app/app.config.ts
similarity index 54%
rename from templates/module/angular/projects/dev-app/src/app/app.module.ts
rename to templates/module/angular/projects/dev-app/src/app/app.config.ts
index ab0a3acb67..f05d9956cc 100644
--- a/templates/module/angular/projects/dev-app/src/app/app.module.ts
+++ b/templates/module/angular/projects/dev-app/src/app/app.config.ts
@@ -1,33 +1,24 @@
-import { provideAccountConfig } from '@abp/ng.account/config';
-import { CoreModule, provideAbpCore, withOptions } from '@abp/ng.core';
+import {ApplicationConfig} from '@angular/core';
+import {provideAnimations} from "@angular/platform-browser/animations";
+import {provideRouter} from "@angular/router";
+import { appRoutes } from './app.routes';
+import { APP_ROUTE_PROVIDER } from './route.provider';
+import { provideAbpCore, withOptions } from '@abp/ng.core';
+import { environment } from '../environments/environment';
import { registerLocale } from '@abp/ng.core/locale';
-import { provideIdentityConfig } from '@abp/ng.identity/config';
+import { provideAbpOAuth } from '@abp/ng.oauth';
+import { provideAbpThemeShared } from '@abp/ng.theme.shared';
import { provideSettingManagementConfig } from '@abp/ng.setting-management/config';
+import { provideAccountConfig } from '@abp/ng.account/config';
+import { provideIdentityConfig } from '@abp/ng.identity/config';
import { provideTenantManagementConfig } from '@abp/ng.tenant-management/config';
-import { ThemeBasicModule, provideThemeBasicConfig } from '@abp/ng.theme.basic';
-import { ThemeSharedModule, provideAbpThemeShared } from '@abp/ng.theme.shared';
import { provideFeatureManagementConfig } from '@abp/ng.feature-management';
-import { provideAbpOAuth } from '@abp/ng.oauth';
-import { NgModule } from '@angular/core';
-import { BrowserModule } from '@angular/platform-browser';
-import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
-import { MyProjectNameConfigModule } from '@my-company-name/my-project-name/config';
-import { environment } from '../environments/environment';
-import { AppRoutingModule } from './app-routing.module';
-import { AppComponent } from './app.component';
-import { APP_ROUTE_PROVIDER } from './route.provider';
+import {provideThemeBasicConfig} from "@abp/ng.theme.basic";
+import {provideMyProjectNameConfig} from "@my-company-name/my-project-name/config";
-@NgModule({
- imports: [
- BrowserModule,
- BrowserAnimationsModule,
- AppRoutingModule,
- CoreModule,
- ThemeSharedModule,
- MyProjectNameConfigModule.forRoot(),
- ThemeBasicModule,
- ],
+export const appConfig: ApplicationConfig = {
providers: [
+ provideRouter(appRoutes),
APP_ROUTE_PROVIDER,
provideAbpCore(
withOptions({
@@ -44,9 +35,8 @@ import { APP_ROUTE_PROVIDER } from './route.provider';
provideIdentityConfig(),
provideTenantManagementConfig(),
provideFeatureManagementConfig(),
+ provideAnimations(),
provideThemeBasicConfig(),
+ provideMyProjectNameConfig(),
],
- declarations: [AppComponent],
- bootstrap: [AppComponent],
-})
-export class AppModule {}
+};
diff --git a/templates/module/angular/projects/dev-app/src/app/app-routing.module.ts b/templates/module/angular/projects/dev-app/src/app/app.routes.ts
similarity index 61%
rename from templates/module/angular/projects/dev-app/src/app/app-routing.module.ts
rename to templates/module/angular/projects/dev-app/src/app/app.routes.ts
index ba7ee06b13..00eaac763d 100644
--- a/templates/module/angular/projects/dev-app/src/app/app-routing.module.ts
+++ b/templates/module/angular/projects/dev-app/src/app/app.routes.ts
@@ -1,11 +1,10 @@
-import { NgModule } from '@angular/core';
-import { RouterModule, Routes } from '@angular/router';
+import { Routes } from '@angular/router';
-const routes: Routes = [
+export const appRoutes: Routes = [
{
path: '',
pathMatch: 'full',
- loadChildren: () => import('./home/home.module').then(m => m.HomeModule),
+ loadChildren: () => import('./home/home.routes').then(m => m.homeRoutes),
},
{
path: 'account',
@@ -28,12 +27,6 @@ const routes: Routes = [
{
path: 'my-project-name',
loadChildren: () =>
- import('@my-company-name/my-project-name').then(m => m.MyProjectNameModule.forLazy()),
+ import('@my-company-name/my-project-name').then(m => m.myProjectNameRoutes),
},
];
-
-@NgModule({
- imports: [RouterModule.forRoot(routes, {})],
- exports: [RouterModule],
-})
-export class AppRoutingModule {}
diff --git a/templates/module/angular/projects/dev-app/src/app/home/home-routing.module.ts b/templates/module/angular/projects/dev-app/src/app/home/home-routing.module.ts
deleted file mode 100644
index 634706a36c..0000000000
--- a/templates/module/angular/projects/dev-app/src/app/home/home-routing.module.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { NgModule } from '@angular/core';
-import { Routes, RouterModule } from '@angular/router';
-import { HomeComponent } from './home.component';
-
-const routes: Routes = [
- {
- path: '',
- children: [{ path: '', component: HomeComponent }],
- },
-];
-
-@NgModule({
- imports: [RouterModule.forChild(routes)],
- exports: [RouterModule],
-})
-export class HomeRoutingModule {}
diff --git a/templates/module/angular/projects/dev-app/src/app/home/home.component.ts b/templates/module/angular/projects/dev-app/src/app/home/home.component.ts
index a0f37a99ca..ab1f354e89 100644
--- a/templates/module/angular/projects/dev-app/src/app/home/home.component.ts
+++ b/templates/module/angular/projects/dev-app/src/app/home/home.component.ts
@@ -1,7 +1,6 @@
import { Component } from '@angular/core';
@Component({
- standalone: false,
selector: 'app-home',
templateUrl: './home.component.html',
})
diff --git a/templates/module/angular/projects/dev-app/src/app/home/home.module.ts b/templates/module/angular/projects/dev-app/src/app/home/home.module.ts
deleted file mode 100644
index 72d20ccc65..0000000000
--- a/templates/module/angular/projects/dev-app/src/app/home/home.module.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { NgModule } from '@angular/core';
-import { SharedModule } from '../shared/shared.module';
-import { HomeRoutingModule } from './home-routing.module';
-import { HomeComponent } from './home.component';
-
-@NgModule({
- declarations: [HomeComponent],
- imports: [SharedModule, HomeRoutingModule],
-})
-export class HomeModule {}
diff --git a/templates/module/angular/projects/dev-app/src/app/home/home.routes.ts b/templates/module/angular/projects/dev-app/src/app/home/home.routes.ts
new file mode 100644
index 0000000000..b04601eddc
--- /dev/null
+++ b/templates/module/angular/projects/dev-app/src/app/home/home.routes.ts
@@ -0,0 +1,9 @@
+import { Routes } from '@angular/router';
+
+export const homeRoutes: Routes = [
+ {
+ path: '',
+ pathMatch: 'full',
+ loadComponent: () => import('./home.component').then(m => m.HomeComponent),
+ },
+];
diff --git a/templates/module/angular/projects/dev-app/src/main.ts b/templates/module/angular/projects/dev-app/src/main.ts
index c7b673cf44..7180ec1a32 100644
--- a/templates/module/angular/projects/dev-app/src/main.ts
+++ b/templates/module/angular/projects/dev-app/src/main.ts
@@ -1,12 +1,5 @@
-import { enableProdMode } from '@angular/core';
-import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
+import { bootstrapApplication } from '@angular/platform-browser';
+import { appConfig } from './app/app.config';
+import { AppComponent } from './app/app.component';
-import { AppModule } from './app/app.module';
-import { environment } from './environments/environment';
-
-if (environment.production) {
- enableProdMode();
-}
-
-platformBrowserDynamic().bootstrapModule(AppModule)
- .catch(err => console.error(err));
+bootstrapApplication(AppComponent, appConfig).catch(err => console.error(err));
diff --git a/templates/module/angular/projects/my-project-name/config/src/my-project-name-config.module.ts b/templates/module/angular/projects/my-project-name/config/src/my-project-name-config.module.ts
index 6ce45aa112..d756a8ad0d 100644
--- a/templates/module/angular/projects/my-project-name/config/src/my-project-name-config.module.ts
+++ b/templates/module/angular/projects/my-project-name/config/src/my-project-name-config.module.ts
@@ -1,12 +1,6 @@
-import { ModuleWithProviders, NgModule } from '@angular/core';
+import {makeEnvironmentProviders} from '@angular/core';
import { MY_PROJECT_NAME_ROUTE_PROVIDERS } from './providers/route.provider';
-@NgModule()
-export class MyProjectNameConfigModule {
- static forRoot(): ModuleWithProviders {
- return {
- ngModule: MyProjectNameConfigModule,
- providers: [MY_PROJECT_NAME_ROUTE_PROVIDERS],
- };
- }
+export function provideMyProjectNameConfig() {
+ return makeEnvironmentProviders([MY_PROJECT_NAME_ROUTE_PROVIDERS])
}
diff --git a/templates/module/angular/projects/my-project-name/src/lib/components/my-project-name.component.ts b/templates/module/angular/projects/my-project-name/src/lib/components/my-project-name.component.ts
index 21628304ac..3482489623 100644
--- a/templates/module/angular/projects/my-project-name/src/lib/components/my-project-name.component.ts
+++ b/templates/module/angular/projects/my-project-name/src/lib/components/my-project-name.component.ts
@@ -2,7 +2,6 @@ import { Component, inject, OnInit } from '@angular/core';
import { MyProjectNameService } from '../services/my-project-name.service';
@Component({
- standalone: false,
selector: 'lib-my-project-name',
template: ` my-project-name works!
`,
styles: [],
diff --git a/templates/module/angular/projects/my-project-name/src/lib/my-project-name.module.ts b/templates/module/angular/projects/my-project-name/src/lib/my-project-name.module.ts
deleted file mode 100644
index 7e92915f4e..0000000000
--- a/templates/module/angular/projects/my-project-name/src/lib/my-project-name.module.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { NgModule, NgModuleFactory, ModuleWithProviders } from '@angular/core';
-import { CoreModule, LazyModuleFactory } from '@abp/ng.core';
-import { ThemeSharedModule } from '@abp/ng.theme.shared';
-import { MyProjectNameComponent } from './components/my-project-name.component';
-import { MyProjectNameRoutingModule } from './my-project-name-routing.module';
-
-@NgModule({
- declarations: [MyProjectNameComponent],
- imports: [CoreModule, ThemeSharedModule, MyProjectNameRoutingModule],
- exports: [MyProjectNameComponent],
-})
-export class MyProjectNameModule {
- static forChild(): ModuleWithProviders {
- return {
- ngModule: MyProjectNameModule,
- providers: [],
- };
- }
-
- static forLazy(): NgModuleFactory {
- return new LazyModuleFactory(MyProjectNameModule.forChild());
- }
-}
diff --git a/templates/module/angular/projects/my-project-name/src/lib/my-project-name-routing.module.ts b/templates/module/angular/projects/my-project-name/src/lib/my-project-name.routes.ts
similarity index 56%
rename from templates/module/angular/projects/my-project-name/src/lib/my-project-name-routing.module.ts
rename to templates/module/angular/projects/my-project-name/src/lib/my-project-name.routes.ts
index f676a219d9..ae9f1dfcec 100644
--- a/templates/module/angular/projects/my-project-name/src/lib/my-project-name-routing.module.ts
+++ b/templates/module/angular/projects/my-project-name/src/lib/my-project-name.routes.ts
@@ -1,9 +1,8 @@
-import { NgModule } from '@angular/core';
import { RouterOutletComponent } from '@abp/ng.core';
-import { Routes, RouterModule } from '@angular/router';
+import { Routes } from '@angular/router';
import { MyProjectNameComponent } from './components/my-project-name.component';
-const routes: Routes = [
+export const myProjectNameRoutes: Routes = [
{
path: '',
pathMatch: 'full',
@@ -16,9 +15,3 @@ const routes: Routes = [
],
},
];
-
-@NgModule({
- imports: [RouterModule.forChild(routes)],
- exports: [RouterModule],
-})
-export class MyProjectNameRoutingModule {}
diff --git a/templates/module/angular/projects/my-project-name/src/public-api.ts b/templates/module/angular/projects/my-project-name/src/public-api.ts
index 3bb54f6a9a..b445f589e0 100644
--- a/templates/module/angular/projects/my-project-name/src/public-api.ts
+++ b/templates/module/angular/projects/my-project-name/src/public-api.ts
@@ -4,4 +4,4 @@
export * from './lib/components/my-project-name.component';
export * from './lib/services/my-project-name.service';
-export * from './lib/my-project-name.module';
+export * from './lib/my-project-name.routes';