Angular 15缺失文件问题:自Angular 12以来变化大吗?
Angular 15 vs 12 项目结构差异解答
1. 关于缺失的environment文件夹
Angular CLI从v14开始,默认创建项目时不再自动生成environment文件夹。官方现在推荐使用应用配置文件(Angular 15中是src/app/app.config.ts)来管理环境相关的变量和配置,替代了原来的environment.ts/environment.prod.ts。
如果你还是习惯用传统的environment结构,有两种解决方式:
- 手动在
src目录下创建environment文件夹,添加environment.ts和environment.prod.ts,然后在angular.json中配置对应的文件替换规则(和Angular12的配置方式一致)。 - 创建项目时添加
--no-standalone参数,生成基于NgModule的传统项目结构,这样就会自动包含environment文件夹。
2. 关于缺失的app-routing.module.ts
Angular 15默认启用独立组件模式,路由配置不再通过单独的app-routing.module.ts来定义,而是直接在app.config.ts中通过provideRouter()函数配置路由规则。
举个例子,独立模式下的路由配置大概是这样:
import { ApplicationConfig } from '@angular/core'; import { provideRouter } from '@angular/router'; import { routes } from './app.routes'; export const appConfig: ApplicationConfig = { providers: [provideRouter(routes)] };
其中routes定义在src/app/app.routes.ts文件中。
如果需要传统的app-routing.module.ts,同样可以在创建项目时使用--no-standalone参数,生成NgModule模式的项目,此时会自动生成该路由模块文件。
总结
不是你的Angular 15版本有问题,而是新版本默认采用了更轻量化的独立组件模式,简化了项目结构,把原来分散的配置整合到了新的文件中。如果要完全匹配Angular12的教程结构,创建项目时加上--no-standalone参数即可。
内容的提问来源于stack exchange,提问作者zuzuzuu
相关产品推荐
相关产品推荐

