Angular教程-02-Angular项目目录及基本文件说明

本教程基于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中定义的选择器名称。

原文地址:https://www.cnblogs.com/dwllm/p/9912076.html

时间: 2024-11-08 17:57:23

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

下载存放在项目目录中的文件

Description 把 Template放在项目中,在 UI提供一个下载链接供 User下载. Code 1 @Log("INFO") 2 @RequestMapping("/downloadXXXTemplate") 3 public void downloadXXXTemplate(HttpServletRequest req, HttpServletResponse resp) throws Exception { 4 String fileName =

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

Html端: <form action="/student/upload" method="POST" enctype="multipart/form-data">{% csrf_token %} <input name="photo" enctype="multipart/form-data" type="file" accept="image/jpeg,i

Angular系列----AngularJS入门教程02:静态模板(转载)

为了说明angularJS如何增强了标准HTML,我们先将创建一个静态HTML页面模板,然后把这个静态HTML页面模板转换成能动态显示的AngularJS模板. 在本步骤中,我们往HTML页面中添加两个手机的基本信息,用以下命令将工作目录重置到步骤1. git checkout -f step-1 请编辑app/index.html文件,将下面的代码添加到index.html文件中,然后运行该应用查看效果. app/index.html <ul> <li> <span>

angular与requireJs构建项目

1.angular模块依赖 angular可以把代码分成若干模块,然后一个模块可以依赖在模块,使用子模块的功能.被依赖的模块需要在本模块之前被加载.如下所示,app模块依赖Module1和Module2模块. var app = angular.module("app",[Module1,Module2]); 2.requireJs 能够使应用异步按需加载模块,管理模块的依赖性.子模块加载完成后,本模块再加载,并且子模块的加载是异步的. 3.按需加载 使用单页面开发时,应用启动时,主模

[转载]AngularJS入门教程02:AngularJS模板

是时候给这些网页来点动态特性了——用AngularJS!我们这里为后面要加入的控制器添加了一个测试. 一个应用的代码架构有很多种.对于AngularJS应用,我们鼓励使用模型-视图-控制器(MVC)模式解耦代码和分离关注点.考虑到这一点,我们用AngularJS来为我们的应用添加一些模型.视图和控制器. 请重置工作目录: git checkout -f step-2 我们的应用现在有了一个包含三部手机的列表. 步骤1和步骤2之间最重要的不同在下面列出.,你可以到GitHub去看完整的差别. 视图

Vue---关于项目目录结构

关于项目目录结构 vue介绍 2014年诞生,2013年react,09年angularjs 作者 尤雨溪 核心概念: 组件化 双向数据流 (基于ES5中的defineProperty来实现的), IE9才支持 angular核心: 模块化 双向数据绑定(脏检测:一个数组($watch)) 开发一个登陆的模块,登陆需要显示的头部.底部.中部 组件:组合起来的一个部件(头部.底部.中部) 细分代码 头部: 页面.样式.动态效果 代码: template style script 框架对比,建议学完

Angular - - angular.injector、angular.module

angular.injector 创建一个injector对象, 调用injector对象的方法可用于获取服务以及依赖注入. 格式:angular.injector(modules); modules:  Array 注入的模块(一个或多个). 使用代码: (function () { angular.module("firstModule", []) .service("firstService", function () { this._log = functi

dropwizard问题记录1:如何进行mvn package打包,如何在项目目录下运行

dropwizard的helloworld入门教程,跟着教程一步步写很容易,但是最后打包时暴露了自己底子太差的缺陷 mvn package操作 之前工作中完全没有接触过这种打包方式,都是直接打war包,所以真的一窍不通 首先,新建一个maven项目,这个就不废话了,根据教程中的方法写好项目,然后就是需要将项目打包在项目目录下运行,由于自己用的是Eclipse(IDE可以直接运行项目选项的package 目标) 1.选中项目名右击,选run as ——maven build...出现如下界面 点击

百度Baidu EFE team的前端规范——项目目录结构规范

项目目录结构规范 简介 该文档主要的设计目标是项目开发的目录结构保持一致,使容易理解并方便构建与管理. 编撰 李玉北.erik.黄后锦.王杨.张立理.赵雷.陈新乐.刘恺华. 本文档由商业运营体系前端技术组审校发布. 要求 在本文档中,使用的关键字会以中文+括号包含的关键字英文表示:必须(MUST).关键字"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT"