diff --git a/templates/app-nolayers/angular/src/app/app.component.ts b/templates/app-nolayers/angular/src/app/app.component.ts
index 5476691764..5ef8f52ddb 100644
--- a/templates/app-nolayers/angular/src/app/app.component.ts
+++ b/templates/app-nolayers/angular/src/app/app.component.ts
@@ -1,12 +1,14 @@
import { Component } from '@angular/core';
+import {InternetConnectionStatusComponent, LoaderBarComponent} from "@abp/ng.theme.shared";
+import {DynamicLayoutComponent} from "@abp/ng.core";
@Component({
- standalone: false,
selector: 'app-root',
template: `
`,
+ imports: [LoaderBarComponent, DynamicLayoutComponent, InternetConnectionStatusComponent]
})
export class AppComponent {}
diff --git a/templates/app-nolayers/angular/src/app/app.module.ts b/templates/app-nolayers/angular/src/app/app.config.ts
similarity index 50%
rename from templates/app-nolayers/angular/src/app/app.module.ts
rename to templates/app-nolayers/angular/src/app/app.config.ts
index 48ae3ab98a..5fcd465589 100644
--- a/templates/app-nolayers/angular/src/app/app.module.ts
+++ b/templates/app-nolayers/angular/src/app/app.config.ts
@@ -1,39 +1,24 @@
-import { provideAccountConfig } from '@abp/ng.account/config';
-import { CoreModule, provideAbpCore, withOptions } from '@abp/ng.core';
+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';
+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 { ThemeLeptonXModule } from '@abp/ng.theme.lepton-x';
-import { SideMenuLayoutModule } from '@abp/ng.theme.lepton-x/layouts';
-import {
- InternetConnectionStatusComponent,
- 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 { environment } from '../environments/environment';
-import { AppRoutingModule } from './app-routing.module';
-import { AppComponent } from './app.component';
-import { APP_ROUTE_PROVIDER } from './route.provider';
+import {ThemeLeptonXModule} from "@abp/ng.theme.lepton-x";
+import {SideMenuLayoutModule} from "@abp/ng.theme.lepton-x/layouts";
-@NgModule({
- imports: [
- BrowserModule,
- BrowserAnimationsModule,
- AppRoutingModule,
- CoreModule,
- ThemeSharedModule,
- ThemeLeptonXModule.forRoot(),
- SideMenuLayoutModule.forRoot(),
- InternetConnectionStatusComponent,
- ],
- declarations: [AppComponent],
+export const appConfig: ApplicationConfig = {
providers: [
+ provideRouter(appRoutes),
APP_ROUTE_PROVIDER,
provideAbpCore(
withOptions({
@@ -48,7 +33,10 @@ import { APP_ROUTE_PROVIDER } from './route.provider';
provideIdentityConfig(),
provideTenantManagementConfig(),
provideFeatureManagementConfig(),
+ provideAnimations(),
+ importProvidersFrom([
+ ThemeLeptonXModule.forRoot(),
+ SideMenuLayoutModule.forRoot(),
+ ])
],
- bootstrap: [AppComponent],
-})
-export class AppModule {}
+};
diff --git a/templates/app-nolayers/angular/src/app/app-routing.module.ts b/templates/app-nolayers/angular/src/app/app.routes.ts
similarity index 64%
rename from templates/app-nolayers/angular/src/app/app-routing.module.ts
rename to templates/app-nolayers/angular/src/app/app.routes.ts
index 0d9f82ea25..6526f0b916 100644
--- a/templates/app-nolayers/angular/src/app/app-routing.module.ts
+++ b/templates/app-nolayers/angular/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',
@@ -26,9 +25,3 @@ const routes: Routes = [
import('@abp/ng.setting-management').then(m => m.SettingManagementModule.forLazy()),
},
];
-
-@NgModule({
- imports: [RouterModule.forRoot(routes, {})],
- exports: [RouterModule],
-})
-export class AppRoutingModule {}
diff --git a/templates/app-nolayers/angular/src/app/home/home-routing.module.ts b/templates/app-nolayers/angular/src/app/home/home-routing.module.ts
deleted file mode 100644
index 7089990134..0000000000
--- a/templates/app-nolayers/angular/src/app/home/home-routing.module.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { NgModule } from '@angular/core';
-import { Routes, RouterModule } from '@angular/router';
-import { HomeComponent } from './home.component';
-
-const routes: Routes = [{ path: '', component: HomeComponent }];
-
-@NgModule({
- imports: [RouterModule.forChild(routes)],
- exports: [RouterModule],
-})
-export class HomeRoutingModule {}
diff --git a/templates/app-nolayers/angular/src/app/home/home.component.ts b/templates/app-nolayers/angular/src/app/home/home.component.ts
index 458f51628c..4fa3761541 100644
--- a/templates/app-nolayers/angular/src/app/home/home.component.ts
+++ b/templates/app-nolayers/angular/src/app/home/home.component.ts
@@ -1,11 +1,12 @@
-import { AuthService } from '@abp/ng.core';
+import {AuthService, LocalizationPipe} from '@abp/ng.core';
import { Component, inject } from '@angular/core';
+import {CommonModule} from "@angular/common";
@Component({
- standalone: false,
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.scss'],
+ imports: [CommonModule, LocalizationPipe],
})
export class HomeComponent {
private authService = inject(AuthService);
diff --git a/templates/app-nolayers/angular/src/app/home/home.module.ts b/templates/app-nolayers/angular/src/app/home/home.module.ts
deleted file mode 100644
index 72d20ccc65..0000000000
--- a/templates/app-nolayers/angular/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/app-nolayers/angular/src/app/home/home.routes.ts b/templates/app-nolayers/angular/src/app/home/home.routes.ts
new file mode 100644
index 0000000000..b04601eddc
--- /dev/null
+++ b/templates/app-nolayers/angular/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/app-nolayers/angular/src/main.ts b/templates/app-nolayers/angular/src/main.ts
index fa4e0aef33..7180ec1a32 100644
--- a/templates/app-nolayers/angular/src/main.ts
+++ b/templates/app-nolayers/angular/src/main.ts
@@ -1,13 +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/app/angular/src/app/app.component.ts b/templates/app/angular/src/app/app.component.ts
index 5476691764..68cc759e1b 100644
--- a/templates/app/angular/src/app/app.component.ts
+++ b/templates/app/angular/src/app/app.component.ts
@@ -1,12 +1,14 @@
import { Component } from '@angular/core';
+import { InternetConnectionStatusComponent, LoaderBarComponent } from '@abp/ng.theme.shared';
+import { DynamicLayoutComponent } from '@abp/ng.core';
@Component({
- standalone: false,
selector: 'app-root',
template: `
`,
+ imports: [LoaderBarComponent, DynamicLayoutComponent, InternetConnectionStatusComponent],
})
export class AppComponent {}
diff --git a/templates/app/angular/src/app/app.config.ts b/templates/app/angular/src/app/app.config.ts
new file mode 100644
index 0000000000..0d7e64c80c
--- /dev/null
+++ b/templates/app/angular/src/app/app.config.ts
@@ -0,0 +1,46 @@
+import {ApplicationConfig, importProvidersFrom} from '@angular/core';
+import { provideRouter } from '@angular/router';
+import {provideAnimations} from "@angular/platform-browser/animations";
+
+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 { 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 { provideFeatureManagementConfig } from '@abp/ng.feature-management';
+import {ThemeLeptonXModule} from "@abp/ng.theme.lepton-x";
+import {SideMenuLayoutModule} from "@abp/ng.theme.lepton-x/layouts";
+import {AccountLayoutModule} from "@abp/ng.theme.lepton-x/account";
+
+export const appConfig: ApplicationConfig = {
+ providers: [
+ provideRouter(appRoutes),
+ APP_ROUTE_PROVIDER,
+ provideAbpCore(
+ withOptions({
+ environment,
+ registerLocaleFn: registerLocale(),
+ })
+ ),
+ provideAbpOAuth(),
+ provideAbpThemeShared(),
+ provideSettingManagementConfig(),
+ provideAccountConfig(),
+ provideIdentityConfig(),
+ provideTenantManagementConfig(),
+ provideFeatureManagementConfig(),
+ provideAnimations(),
+ provideAbpCore(),
+ importProvidersFrom([
+ ThemeLeptonXModule.forRoot(),
+ SideMenuLayoutModule.forRoot(),
+ AccountLayoutModule.forRoot(),
+ ])
+ ],
+};
diff --git a/templates/app/angular/src/app/app.module.ts b/templates/app/angular/src/app/app.module.ts
deleted file mode 100644
index de45468f4a..0000000000
--- a/templates/app/angular/src/app/app.module.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { CoreModule, provideAbpCore, withOptions } from '@abp/ng.core';
-import { registerLocale } from '@abp/ng.core/locale';
-import {
- InternetConnectionStatusComponent,
- ThemeSharedModule,
- provideAbpThemeShared,
-} from '@abp/ng.theme.shared';
-import { provideFeatureManagementConfig } from '@abp/ng.feature-management';
-import { provideAbpOAuth } from '@abp/ng.oauth';
-import { provideIdentityConfig } from '@abp/ng.identity/config';
-import { provideSettingManagementConfig } from '@abp/ng.setting-management/config';
-import { provideTenantManagementConfig } from '@abp/ng.tenant-management/config';
-import { provideAccountConfig } from '@abp/ng.account/config';
-import { ThemeLeptonXModule } from '@abp/ng.theme.lepton-x';
-import { SideMenuLayoutModule } from '@abp/ng.theme.lepton-x/layouts';
-import { AccountLayoutModule } from '@abp/ng.theme.lepton-x/account';
-import { NgModule } from '@angular/core';
-import { BrowserModule } from '@angular/platform-browser';
-import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
-import { environment } from '../environments/environment';
-import { AppRoutingModule } from './app-routing.module';
-import { AppComponent } from './app.component';
-import { APP_ROUTE_PROVIDER } from './route.provider';
-
-@NgModule({
- imports: [
- BrowserModule,
- BrowserAnimationsModule,
- AppRoutingModule,
- CoreModule,
- ThemeSharedModule,
- ThemeLeptonXModule.forRoot(),
- SideMenuLayoutModule.forRoot(),
- AccountLayoutModule.forRoot(),
- InternetConnectionStatusComponent,
- ],
- declarations: [AppComponent],
- providers: [
- APP_ROUTE_PROVIDER,
- provideAbpCore(
- withOptions({
- environment,
- registerLocaleFn: registerLocale(),
- })
- ),
- provideAbpOAuth(),
- provideAbpThemeShared(),
- provideSettingManagementConfig(),
- provideAccountConfig(),
- provideIdentityConfig(),
- provideTenantManagementConfig(),
- provideFeatureManagementConfig(),
- ],
- bootstrap: [AppComponent],
-})
-export class AppModule {}
diff --git a/templates/app/angular/src/app/app-routing.module.ts b/templates/app/angular/src/app/app.routes.ts
similarity index 64%
rename from templates/app/angular/src/app/app-routing.module.ts
rename to templates/app/angular/src/app/app.routes.ts
index 0d9f82ea25..6526f0b916 100644
--- a/templates/app/angular/src/app/app-routing.module.ts
+++ b/templates/app/angular/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',
@@ -26,9 +25,3 @@ const routes: Routes = [
import('@abp/ng.setting-management').then(m => m.SettingManagementModule.forLazy()),
},
];
-
-@NgModule({
- imports: [RouterModule.forRoot(routes, {})],
- exports: [RouterModule],
-})
-export class AppRoutingModule {}
diff --git a/templates/app/angular/src/app/home/home-routing.module.ts b/templates/app/angular/src/app/home/home-routing.module.ts
deleted file mode 100644
index 7089990134..0000000000
--- a/templates/app/angular/src/app/home/home-routing.module.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { NgModule } from '@angular/core';
-import { Routes, RouterModule } from '@angular/router';
-import { HomeComponent } from './home.component';
-
-const routes: Routes = [{ path: '', component: HomeComponent }];
-
-@NgModule({
- imports: [RouterModule.forChild(routes)],
- exports: [RouterModule],
-})
-export class HomeRoutingModule {}
diff --git a/templates/app/angular/src/app/home/home.component.spec.ts b/templates/app/angular/src/app/home/home.component.spec.ts
index e02c272719..2243bfca92 100644
--- a/templates/app/angular/src/app/home/home.component.spec.ts
+++ b/templates/app/angular/src/app/home/home.component.spec.ts
@@ -6,8 +6,6 @@ import { HomeComponent } from "./home.component";
import { OAuthService } from 'angular-oauth2-oidc';
import { AuthService } from '@abp/ng.core';
-
-
describe("HomeComponent", () => {
let fixture: ComponentFixture
;
const mockOAuthService = jasmine.createSpyObj('OAuthService', ['hasValidAccessToken'])
@@ -15,11 +13,12 @@ describe("HomeComponent", () => {
beforeEach(
waitForAsync(() => {
TestBed.configureTestingModule({
- declarations: [HomeComponent],
+ declarations: [],
imports: [
CoreTestingModule.withConfig(),
ThemeSharedTestingModule.withConfig(),
NgxValidateCoreModule,
+ HomeComponent
],
providers: [
/* mock providers here */
diff --git a/templates/app/angular/src/app/home/home.component.ts b/templates/app/angular/src/app/home/home.component.ts
index 458f51628c..cf42b0f606 100644
--- a/templates/app/angular/src/app/home/home.component.ts
+++ b/templates/app/angular/src/app/home/home.component.ts
@@ -1,11 +1,12 @@
-import { AuthService } from '@abp/ng.core';
+import {AuthService, LocalizationPipe} from '@abp/ng.core';
import { Component, inject } from '@angular/core';
+import {CommonModule} from "@angular/common";
@Component({
- standalone: false,
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.scss'],
+ imports: [CommonModule, LocalizationPipe]
})
export class HomeComponent {
private authService = inject(AuthService);
diff --git a/templates/app/angular/src/app/home/home.module.ts b/templates/app/angular/src/app/home/home.module.ts
deleted file mode 100644
index 72d20ccc65..0000000000
--- a/templates/app/angular/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/app/angular/src/app/home/home.routes.ts b/templates/app/angular/src/app/home/home.routes.ts
new file mode 100644
index 0000000000..b04601eddc
--- /dev/null
+++ b/templates/app/angular/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/app/angular/src/main.ts b/templates/app/angular/src/main.ts
index fa4e0aef33..7180ec1a32 100644
--- a/templates/app/angular/src/main.ts
+++ b/templates/app/angular/src/main.ts
@@ -1,13 +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/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';