十、angular组件、模块、项目结构详解

版权声明:本文为博主原创文章,未经博主允许欢迎转载,请注明原文链接。一起交流,共同进步。 https://blog.csdn.net/newbie_907486852/article/details/83176980

                                             angular组件、模块、项目结构详解

1、组件结构分析

组件=装饰器+模板+控制器
组件(ts文件):将页面上的能够复用的区域(块)封装在一个ts文件中
装饰器(@Component):告知angular框架如何处理TypeScript类
模板(html文件):定义组件外观,如何渲染组件(html展示组件外观)
控制器(TypeScript类):控制器通过数据绑定与模板通讯,模板展示控制器数据,控制器处理模板上发生的事件(与模板通讯、处理模板事件)

app.component.ts:

import { Component } from '@angular/core';//导入的是angular/core核心包

@Component({//装饰器
  selector: 'app-root',//选择器:可以使用<app-root></app-root>标签引用这个组件
  templateUrl: './app.component.html',//模板:组件的外观、与控制器通讯
  styleUrls: ['./app.component.css']//模板的样式
})
export class AppComponent {//控制器:处理模板事件、与模板通讯
  title = 'auction';//声明数据
}

在这里插入图片描述

2、模块详解

类似于组件,都是用装饰器修饰的TypeScript类:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';

@NgModule({//装饰器
  declarations: [//声明模块有什么(只能声明组件、指令、管道)
    AppComponent
  ],
  imports: [//声明引用的其他模块
    BrowserModule
  ],
  providers: [],//声明模块中提供的服务
  bootstrap: [AppComponent]//声明模块的主组件是什么
})
export class AppModule { }//控制器

3、项目结构详解

目录结构分析
在这里插入图片描述

e2e:端对端的自动测试

node_modules:第三方依赖包

src:项目源码目录

.editorconfig:webstorm配置文件

.gitignore:git配置文件

angular.json:angular命令行工具的配置文件(引入第三方包)

package.json:npm配置工具的配置文件

package-lock.json:用以记录当前状态下实际安装的各个npm package的具体来源和版本号

README.md:生成项目的标准说明

tsconfig.json:指定了用来编译这个项目的根文件和编译选项

tslint.json:tslint配置文件,检查TypeScript代码规则

在这里插入图片描述

 
    src
├── app  // 应用的组件、模块
│   ├── app.component.css  // css样式文件
│   ├── app.component.html // html模板文件
│   ├── app.component.spec.ts  // 测试用例
│   ├── app.component.ts   // 组件
│   └── app.module.ts      // 模块
├── assets  // 资源目录,存储静态资源的,比如图片
├── browserslist
├── environments // 环境配置。比如开发、测试、生产环境做不同配置
│   ├── environment.prod.ts 
│   └── environment.ts
├── favicon.ico    // 网站标志图标
├── index.html     // 整个应用的根html,程序启动就是访问这个页面
├── karma.conf.js  // 前端单元测试Karma配置
├── main.ts      // 项目入口,通过这个文件来启动项目
├── polyfills.ts // 主要是用来导入一些必要库, 兼容老版本
├── styles.css   // 全局的样式文件
├── test.ts      // 自动化测试用的
├── tsconfig.app.json   // 指定ts编译的一些参数信息
├── tsconfig.spec.json  // 测试
└── tslint.json  // JSLint检测js语法

猜你喜欢

转载自blog.csdn.net/newbie_907486852/article/details/83176980