创建Angular应用时未生成app.module.ts等配置问题求助
Angular项目创建未生成app.module.ts/使用bootstrapApplication的解决方案
直接创建传统NgModule模式项目
Angular 14+版本默认启用独立组件模式,要生成带app.module.ts、弹出路由选择提示且用platformBrowserDynamic启动的项目,执行创建命令时添加--no-standalone参数:
ng new your-app-name --no-standalone
执行后会自动生成app.module.ts,同时CLI会询问是否添加路由,main.ts中默认使用platformBrowserDynamic.bootstrapModule(AppModule)启动应用。
已创建的独立组件项目转为NgModule模式
如果已经创建了独立组件项目,可手动调整为模块模式:
- 在
src/app目录下创建app.module.ts,添加以下代码:
import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppComponent } from './app.component'; // 若需要路由,导入路由相关模块 import { Routes, RouterModule } from '@angular/router'; const routes: Routes = []; @NgModule({ declarations: [AppComponent], imports: [BrowserModule, RouterModule.forRoot(routes)], providers: [], bootstrap: [AppComponent] }) export class AppModule { }
- 修改
src/main.ts,替换原有的bootstrapApplication代码:
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppModule } from './app/app.module'; platformBrowserDynamic().bootstrapModule(AppModule) .catch(err => console.error(err));
- 若项目已配置路由,需将独立组件模式下的
provideRouter配置迁移到AppModule的imports数组中(如上述代码中的RouterModule.forRoot(routes))。
内容的提问来源于stack exchange,提问作者gautamayush12
相关产品推荐
相关产品推荐

