ng4.x 目录结构及CLI基础代码分析

2017-10-20  本文已影响0人  __凌

#1 :Angular环境配置


No1:安装nodejs

No2:检查版本号:node -v          [ > 6.9.x]

No3:检查版本号:npm -v            [> 3.x.x]

No4:安装cnpm :npm install -g cmp --registry=https://registry.npm.taobao.org

No5:安装Angular CLI脚手架工具: cnpm install -g @angular/cli

No6:检查版本号:ng -v

No7:创建项目:ng new projectName

No8:进入项目 :cd projectName

No9:安装依赖:cnpm install

No10:启动服务:ng serve --open

No11:用webStorm  /  VSCode 打开projectprojectName文件

No12:创建组件:ng g component componentContainer/componentName

注:Visual Studio Code:https://code.visualstudio.com/

        需安装插件---Angular v4 TypeScript snippets.


#2 :Angular4.x 项目目录结构



#3 :Angular4.x CLI基础代码分析


《e2e》:端到端的测试目录

《src》:应用源代码目录 ,我们的代码都在此写入

+《app》:包含应用的组件和模块

         - <app.component.ts>:【【组件】】应用的地基

import { Component } from '@angular/core';

//从angular的核心模块中引入component装饰器

@Component({                                                                                                                                          selector: 'app-root',                                                                                                                            templateUrl: './app.component.html',                                                                                                styleUrls: ['./app.component.css']                                                                                              })

//组件元数据装饰器;用装饰器定义了一个组件  [所有的组件都需要一个装饰器来注解@]  //selector       :css选择器,此属性表示组件可以通过app-root这个html标签来调用          //templateUrl :指定一个html文件作为模板,最终在index.html的 app-root位置呈现          //styleUrls      :指向一组css文件,在css中编写这个组件模板中要到的样式

export class AppComponent {  title = 'app works!';    }

//定义了这个组件的控制器[一个被装饰器修饰的TypeScript类]                                            //AppComponent  :一个TypeScript类  [用装饰器来附加元数据]

        - <app.module.ts>:【【模块】】[一个模块也是被装饰器装饰的TypeScript类]

//用@NgModule这个装饰器声明了一个模块                                                           

//declarations :此属性声明了模块有什么东西【组件,指令,管道】                             

//imports        :这个属性声明了应用正常使用还需要的其他模块                       

//BrowerModule :开发web应用必备浏览器模块                                                   

//FormsModule  :处理表单的模块 

 //HttpModule  :提供Http服务                                                                                       

//providers    :声明模块中用了声明服务  只能在[]中声明 【服务】       

 //bootstrap    :声明模块的主组件

+《assets》:用来存静态资源的

+《environments》:环境配置,angular是支持多环境的[可测试,开发,生产共用一套代码]

+  <favicon.ico>:图标文件

+ <index.html>: 应用的根html ,系统第一次访问的页面  [注:app-root]

+ <main.ts>: 整个web应用的入口点,脚本执行的入口点,angular通过这个文件来启动项目

import './polyfills.ts';

//导入必要的库 以便angular正常的运行在老版本浏览器中

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';

// 从angular的浏览器模块中导入platformBrowserDynamic方法,告诉angular使用哪个模块来启动应用

import { enableProdMode } from '@angular/core';

//enableProdMode 关闭angular的开发者模式

import { environment } from './environments/environment';

//导入环境配置

import { AppModule } from './app/app.module';

//导入命令行生成的那个主模块

if (environment.production) {                                                                                                                enableProdMode();                                                                                                                          }

//如果是生产模式,就调用这个方法来关闭开发者模式

platformBrowserDynamic().bootstrapModule(AppModule);

//调用().bootstrapModule方法传入AppModule作为启动模块来启动模块

+ <polyfills.ts>:用来导入一些必要的库,使angular正常的运行在某些老版本浏览器

+ <style.css>:在此写应用的全局的样式

+ <test.ts>:搞自动化测试的

+ <tsconfig.json>:typescript编译器的配置文件

<.editorconfig>:webstorm的配置文件

<angular-cli.json>:angular 命令行配置文件  ,实战项目引入第三方包需修改此文件

<karma.conf.js>:karma配置文件,用来执行自动化测试。karma是单元测试的执行器

<package.json>:npm工具的配置文件,列明了当前应用所使用到的第三方依赖包

<protractor.conf.js>:做自动化测试的配置文件

<README.md>:包含了angular命令行生成的标准说明

<tslint.json>:tslint的配置文件,用来定义typescript代码质量

上一篇 下一篇

猜你喜欢

热点阅读