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';