angular6.X--起步

一、安装最新版本的nodejs

注意:请先在终端/控制台窗口中运行命令 node -v 和 npm -v, 来验证一下你正在运行 node 6.9.x 和 npm 3.x.x 以上的版本。 更老的版本可能会出现错误,更新的版本则没问题。

二、全局安装 Angular CLI 脚手架工具

1.使用 npm命令安装
npm install -g @angular/cli

2.使用 cnpm命令安装
cnpm install -g @angular/cli

3.查询版本号
ng -v

清除安装包缓存:npm cache clean --force

image.png

angular cli

image.png

如果想通过手机访问,需要这样运行:
ng serve proName --host xxx.xxx.x.xxx(自己的ip地址)

三、创建项目

  1. 打开cmd找到你要创建项目的目录
  2. 创建项目,ng new 项目名称 创建一个项目
    ng new my-app
  3. 进入刚才创建的项目里面启动服务
cd my-app

cnpm install   //安装依赖

ng serve --open 

Vscode运行项目:

  1. 首先下载Debugger for Chrome插件,进入扩展搜索名称即可;
  2. Vscode打开项目,然后点击调试按钮,选择chrome,然后点击设置按钮,即可打开launch.json文件
    image.png

    把本地launch.json文件里面的内容先删光,然后把以下内容贴进去:
{
"version": "0.2.0",
"configurations": [
{ 
"type": "chrome", 
"request": "launch", 
"name": "Chrome", 
"url": "http://localhost:4200", 
"webRoot": "${workspaceRoot}" 
}
]
}
  1. 配置完成后,在终端输入 ng serve即可运行项目

四、目录结构分析

image.png

1. app.module.ts、组件分析
定义AppModule,这个根模块会告诉Angular如何组装该应用。 目前,它只声明了AppComponent。 稍后它还会声明更多组件。

@NgModuel({
declarations: [], // 用到的组件,指令,管道
providers: [], // 依赖注入服务 
imports: [], // 导入需要的模块
exports: [], // 导出的模块,跨模块交流
entryComponents: [] // 需提前编译好的模块
bootstrap: [] // 设置根组件
})
//Angular 模块类描述应用的部件是如何组合在一起的。 每个应用都至少有一个 Angular 模块,也就是根模块,
// 用来引导并运行应用。 你可以为它取任何名字。常规名字是AppModule。  也就是 app.module.ts文件
/*引入组件*/

import { BrowserModule } from '@angular/platform-browser';  /*BrowserModule,浏览器解析的模块*/
import { NgModule } from '@angular/core';  /*angualrjs核心模块*/
import { FormsModule } from '@angular/forms';  /*表单数据绑定 表单验证需要的模块*/
i
import { AppComponent } from './app.component'; /*根组件*/
 @NgModule接受一个元数据对象,告诉 Angular 如何编译和启动应用。*/

@NgModule({
  declarations: [  /*引入当前项目运行的的组件*/
    AppComponent
  ],
  imports: [ /*引入当前模块运行依赖的其他模块*/
    BrowserModule,
    FormsModule
  ],
  providers: [],  /*定义的服务  回头放在这个里面*/
  bootstrap: [AppComponent]  /* 指定应用的主视图(称为根组件) 通过引导根AppModule来启动应用  ,这里一般写的是根组件*/
})

export class AppModule { }

2. 创建angualr组件
创建组件:ng g component components/header
组件内容详解:

import { Component, OnInit } from '@angular/core';  /*angular核心*/

@Component({
  selector: 'app-header',  /*使用组件的名称*/
  templateUrl: './header.component.html', /*html模板*/
  styleUrls: ['./header.component.css'] /*css样式*/
})
export class HeaderComponent implements OnInit {  
  constructor() {  /*构造函数*/
  }
  ngOnInit() {  /*初始化加载的生命周期函数*/

  }
}

3.angular.json的配置
在 angular.json 的顶级,一些属性用于配置工作区,其中的 projects 区则包含其余的针对每个项目的配置项。

  1. version:该配置文件的版本。
  2. newProjectRoot:用来创建新工程的位置。绝对路径或相对于工作区目录的路径。
  3. defaultProject:当命令中没有指定参数时,要使用的默认工程名。当你用 ng new 在新的工作区中创建新应用时,该应用就会一直作为此工作区的默认项目,除非你到这里修改它。
  4. projects:对于工作区中的每个项目(库、应用、e2e 测试)都会包含一个子分区,子分区中是每个项目的配置项。

项目配置选项
每个项目的 projects:<project_name> 下都有以下顶级配置属性。

"app": {
"root": "",
"sourceRoot": "src",
"projectType": "application",
"prefix": "app",
"schematics": {},
"architect": {}
}
image.png

项目工具的配置选项
建筑师(Architect)是指 CLI 用来根据所提供的配置执行复杂任务(如编译和测试运行)的工具。 architect 部分包含一组建筑目标。很多目标都对应于运行它们的 CLI 命令。使用 ng run 命令可以运行一些额外的预定义目标,并可以定义自己的目标。
每个目标对象都指定了该目标的 builder,它是建筑师所运行工具的 npm 包。此外,每个目标都有一个 options 部分,用于配置该目标的默认选项,configurations 部分可以为目标命名并指定备用配置。

"architect": {
"build": { },
"serve": { },
"e2e" : { },
"test": { },
"lint": { },
"extract-i18n": { },
"server": { },
"app-shell": { }
}
  • architect/build 节会为 ng build 命令的选项配置默认值。
  • architect/serve 节会覆盖构建默认值,并为 ng serve 命令提供额外的服务器默认值。除了 ng build 命令的可用选项之外,还增加了与开发服务器有关的选项。
  • architect/e2e 节覆盖了构建选项默认值,以便用 ng e2e 命令构建端到端测试应用。
  • architect/test 节会覆盖测试时的构建选项默认值,并为 ng test 命令提供额外的默认值以供运行测试。
  • architect/lint 节为 ng lint 命令配置了默认值,用于对项目源文件进行代码分析。 Angular 默认的 linting 工具为 TSLint。
  • architect/extract-i18n 节为 ng xi18n 命令所用到的 ng-xi18n 工具选项配置了默认值,该命令用于从源代码中提取带标记的消息串,并输出翻译文件。
  • architect/server 节用于为使用 ng run <project>:server 命令创建带服务器端渲染的 Universal 应用配置默认值。
  • architect/app-shell 部分使用 ng run <project>:app-shell 命令为渐进式 Web 应用(PWA)配置创建应用外壳的默认值。

一般来说,可以为 CLI 参考手册中列出的每个命令配置相应的默认值。注意,配置文件中的所有选项都必须使用 camelCase,而不是 dash-case。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,311评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,339评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,671评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,252评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,253评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,031评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,340评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,973评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,466评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,937评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,039评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,701评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,254评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,259评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,497评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,786评论 2 345