本教程基于Angular7,更新时间2018-11-05.

1. 项目根目录如下:

  • e2e文件夹:end to end,测试目录,主要用于集成测试。
  • node_modules:项目的模块依赖目录。
  • src:项目的源代码。
  • .editorconfig:编辑器配置文件。
  • .gitignore: git版本控制时忽略的文件(此文件中配置的文件不纳入版本控制)。
  • .angular.json:angular配置文件。
  • .package-lock.json:锁定项目依赖模块的版本号。
  • .package.json:配置项目依赖模块。
  • .README.md:项目说明文件
  • .tsconfig.json:typescript配置文件。
  • .tslint.json:typescript代码检测配置文件。

2. src目录展开如下图:

  • app:项目的主组件目录。
  • assets:项目的资源目录。
  • environments:项目的环境配置目录
  • index.html:主页面。
  • karma.conf.js:karma测试的配置文件。
  • main.ts:脚本入口文件。
  • polyfills.ts:兼容性检测配置文件。
  • style.css:全局css样式文件。
  • test.ts:单元测试入口文件。

3. app目录展开如下图:

  • app-routing.module.ts:组件路由配置文件。
  • app.component.css:组件私有css样式文件。
  • app.component.html:组件的模板文件。
  • app.component.spec.ts:组件的单元测试文件。
  • app.compenent.ts:组件typescript配置文件。
  • app.module.ts:组件模型配置文件。

4. 文件加载顺序

  1. 首先打开项目脚本的入口文件main.ts文件,内容如下:

    import { enableProdMode } from '@angular/core';
    import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppModule } from './app/app.module';
    import { environment } from './environments/environment'; if (environment.production) {
    enableProdMode();
    } platformBrowserDynamic().bootstrapModule(AppModule)
    .catch(err => console.error(err));

    其中的语句 import { AppModule } from './app/app.module';表示引用了AppModule,路径是./app/app.module,就是app目录下的app.module.ts文件。

  2. app.module.ts的文件内容如下:

    import { BrowserModule } from '@angular/platform-browser';
    import { NgModule } from '@angular/core'; import { AppRoutingModule } from './app-routing.module';
    import { AppComponent } from './app.component'; @NgModule({
    declarations: [
    AppComponent
    ],
    imports: [
    BrowserModule,
    AppRoutingModule
    ],
    providers: [],
    bootstrap: [AppComponent]
    })
    export class AppModule { }

    其中的import { AppComponent } from './app.component'表示引用了AppComponent组件,即为app目录下的app.component.ts文件。

  3. app.component.ts文件内容如下:

    import { Component } from '@angular/core';
    
    @Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    styleUrls: ['./app.component.css']
    })
    export class AppComponent {
    title = 'app';
    }
    • selector定义了选择器,页面会通过这个名字来引用组件。
    • templateUrl定义了模板文件,就是当前目录下的app.component.html文件。
    • styleUrls定义了模块的样式文件,即当前目录下的app.component.css文件。
  4. index.html文件内容如下:

    <!doctype html>
    <html lang="en"> <head>
    <meta charset="utf-8">
    <title>Media</title>
    <base href="/"> <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="icon" type="image/x-icon" href="favicon.ico">
    </head> <body>
    <app-root></app-root>
    </body> </html>

    其中的body标签中的app-root标签即为app.component.ts中定义的选择器名称。

Angular7教程-02-Angular项目目录及基本文件说明的更多相关文章

  1. XamarinSQLite教程Xamarin.iOS项目中打开数据库文件

    XamarinSQLite教程Xamarin.iOS项目中打开数据库文件 以下是打开MyDocuments.db数据库的具体操作步骤: (1)将Mac电脑上的MyDocuments.db数据库移动到W ...

  2. Angular7教程-05-搭建项目环境

    1. 本节说明 本节以及后面的内容我们将会通过搭建一个简单的博客程序来对angular进行介绍,项目使用前端框架是bootstrap.版本v3.3.7,另外需要安装jquery.关于bootstrap ...

  3. [转]Angular项目目录结构详解

    本文转自:https://blog.csdn.net/yuzhiqiang_1993/article/details/71191873 版权声明:本文为博主原创文章,转载请注明地址.如果文中有什么纰漏 ...

  4. Angular项目目录结构

    前言:不支持MakeDown的博客园调格式的话,真的写到快o(╥﹏╥)o了,所以老夫还是转战到CSDN吧,这边就不更新啦啦啦~ CSDN地址:https://blog.csdn.net/Night20 ...

  5. Angular项目目录

    0.模块介绍和基础知识 https://cloud.tencent.com/developer/section/1489514 1.如下图VSCode-- node_modules 第三方依赖包存放目 ...

  6. angular项目目录结构分析

    详情查看:https://www.angular.cn/guide/file-structure app.module.ts 定义 AppModule, 这个根模块会告诉 Angular 如何组装该应 ...

  7. js配置文件路径和项目目录文件夹位置的一致性

    在js文件引入的时候注意配置文件的路径是否和项目目录中的文件夹位置一致,如果不一致, 浏览器会指出找不到文件404的情况

  8. asp.net 项目目录说明

    Bin 目录用来存放编译的结果,bin是二进制binrary的英文缩写,因为最初C编译的程序文件都是二进制文件,它有Debug和Release两个版本, 分别对应的文件夹为bin/Debug和bin/ ...

  9. django 前端传文件到后台项目目录

    Html端: <form action="/student/upload" method="POST" enctype="multipart/f ...

随机推荐

  1. 通过脚本自动下载Esri会议材料

    在Esri的官网上,可以下载到Esri参加或者举办的各类会议的材料.官方地址为:http://proceedings.esri.com/library/userconf/index.html. 针对某 ...

  2. Java 之集合框架 中(10)

    Map和HashMap Map接口: Map 提供了一种映射关系,其中的元素是以键值对(Key-Value)的形式 存储的,能够实现根据Key快速查找value Map中的键值对以Entry类型的对象 ...

  3. Python爬虫教程-03-使用 chardet 检测编码

    Spider-03-使用chardet 继续学习python爬虫,我们经常出现解码问题,因为所有的页面编码都不统一,我们使用chardet检测页面的编码,尽可能的减少编码问题的出现 网页编码问题解决 ...

  4. java (Eclipse)连接MySQL数据库

    package com.ifruit.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql ...

  5. 近期关于CI/CD策略以及git分支模型的思考

    近两个月由于个人处于新环境.新项目的适应阶段,没怎么提笔写些文章.中间有好几个想法想记录下来分享,但受限于没有很好的时间段供自己总结思考(也可以总结为间歇性懒癌和剧癌发作),便啥也没有更新.借这个周末 ...

  6. Visual Studio Code 之 运行java代码

    1.安装扩展. 2.安装成功后,会在右键菜单中多出一个选项: 更改vscode“用户设置”文件:添加java.home(jdk目录)以及runcode显示在终端(解决中文乱码问题) code runn ...

  7. 【Oracle】DBMS_STATS.GATHER_SCHEMA_STATS详解

    dbms_stats能良好地估计统计数据(尤其是针对较大的分区表),并能获得更好的统计结果,最终制定出速度更快的SQL执行计划. exec dbms_stats.gather_schema_stats ...

  8. SQL 常用语法

    一.SQL分类 DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRA ...

  9. Django路由系统---django重点之url映射分发

    django重点之url映射分发 在全局项目的urls.py中进行子项目的映射,然后在子项目中创建一个urls.py去处理自己项目中的请求,同时也实现了代码的解耦 添加路由分发的原则[全局urls.p ...

  10. Java学习---连接数据库操作

    Java连接Oracle数据库 package com.ftl.mysql; import java.sql.Connection; import java.sql.DriverManager; im ...