Angular 6.0已发版: Angular快速入门

简介: Angular 6.0.0 于2018年5月4日正式发布,今天我们一起来跟着其官网(https://angular.io/guide/quickstart)的例子做个简单入门吧!

Angular 6.0.0 于2018年5月4日正式发布,今天我们一起来跟着其官网(https://angular.io/guide/quickstart)的例子做个简单入门吧!

“Angular 6.0.0 正式发布,新版本重点关注工具链以及工具链在 Angular 中的运行速度问题。这次更新还包括框架包(@angular/core、@angular/common、@angular/compiler 等)、Angular CLI、Angular Material + CDK,这主要是为了解决兼容问题,这些项目的补丁版本将根据项目需求发布。” (前端之巅)

关于 TypeScript :

Angular 使用 TypeScript 编写。

TypeScript 是一种由微软开发的自由和开源的编程语言,主要提供了类型系统和对 ES6 的支持。 TypeScript 是 JavaScript 的一个超集,它可以编译成普通的 JavaScript 代码。 TypeScript 代码文件后缀为 .ts

Angular2.0 之前的版本(1.x)叫做 AngularJS。

AngularJS 是一款开源的 JavaScript MV*(MVW、MVVM、MVC)框架。AngularJS 最初由 Misko Hevery 和 Adam Abrons 于2009年开发,后来由 Google 公司接管。

关于 Angular CLI 命令行接口:

Angular CLI 是一个命令行工具,可以很方便的进行创建项目、添加文件、测试、构建部署等操作。

步骤1: 设置开发环境

需要安装有 Node.js 和 npm, 可以使用 -v 命令查看其版本:

$ node -v
v10.2.0

$ npm -v       
6.1.0

全局安装 Angular CLI :

npm install -g @angular/cli

执行实例如下:

$ sudo npm install -g @angular/cli
/usr/local/bin/ng -> /usr/local/lib/node_modules/@angular/cli/bin/ng

> @angular/cli@6.0.7 postinstall /usr/local/lib/node_modules/@angular/cli
> node ./bin/ng-update-message.js

+ @angular/cli@6.0.7
updated 1 package in 3.482s

查看安装结果:

$ ng -v
Angular CLI: 6.0.7
Node: 10.2.0
OS: darwin x64
Angular: 
... 

Package                      Version
--------------------------------------
@angular-devkit/architect    0.6.7
@angular-devkit/core         0.6.7
@angular-devkit/schematics   0.6.7
@schematics/angular          0.6.7
@schematics/update           0.6.7
rxjs                         6.2.0
typescript                   2.7.2

步骤2: 创建一个项目

打开终端,使用 ng new 命令来创建:

ng new my-app

执行实例如下:

$ ng new my-app
CREATE my-app/README.md (1022 bytes)
CREATE my-app/angular.json (3548 bytes)
CREATE my-app/package.json (1310 bytes)
CREATE my-app/tsconfig.json (384 bytes)
CREATE my-app/tslint.json (2805 bytes)
CREATE my-app/.editorconfig (245 bytes)
CREATE my-app/.gitignore (503 bytes)
CREATE my-app/src/environments/environment.prod.ts (51 bytes)
CREATE my-app/src/environments/environment.ts (631 bytes)
CREATE my-app/src/favicon.ico (5430 bytes)
CREATE my-app/src/index.html (292 bytes)
CREATE my-app/src/main.ts (370 bytes)
CREATE my-app/src/polyfills.ts (3194 bytes)
CREATE my-app/src/test.ts (642 bytes)
CREATE my-app/src/assets/.gitkeep (0 bytes)
CREATE my-app/src/styles.css (80 bytes)
CREATE my-app/src/browserslist (375 bytes)
CREATE my-app/src/karma.conf.js (964 bytes)
CREATE my-app/src/tsconfig.app.json (194 bytes)
CREATE my-app/src/tsconfig.spec.json (282 bytes)
CREATE my-app/src/tslint.json (314 bytes)
CREATE my-app/src/app/app.module.ts (314 bytes)
CREATE my-app/src/app/app.component.css (0 bytes)
CREATE my-app/src/app/app.component.html (1141 bytes)
CREATE my-app/src/app/app.component.spec.ts (989 bytes)
CREATE my-app/src/app/app.component.ts (207 bytes)
CREATE my-app/e2e/protractor.conf.js (752 bytes)
CREATE my-app/e2e/src/app.e2e-spec.ts (302 bytes)
CREATE my-app/e2e/src/app.po.ts (208 bytes)
CREATE my-app/e2e/tsconfig.e2e.json (213 bytes)

> fsevents@1.2.4 install /Users/wang/angular/my-app/node_modules/fsevents
> node install

[fsevents] Success: "/Users/wang/angular/my-app/node_modules/fsevents/lib/binding/Release/node-v64-darwin-x64/fse.node" already installed
Pass --update-binary to reinstall or --build-from-source to recompile

> node-sass@4.9.0 install /Users/wang/angular/my-app/node_modules/node-sass
> node scripts/install.js

Cached binary found at /Users/wangtest/.npm/node-sass/4.9.0/darwin-x64-64_binding.node

> node-sass@4.9.0 postinstall /Users/wang/angular/my-app/node_modules/node-sass
> node scripts/build.js

Binary found at /Users/wang/angular/my-app/node_modules/node-sass/vendor/darwin-x64-64/binding.node
Testing binary
Binary is fine

> @angular/cli@6.0.7 postinstall /Users/wang/angular/my-app/node_modules/@angular/cli
> node ./bin/ng-update-message.js

added 1167 packages from 1293 contributors and audited 21844 packages in 39.505s
found 13 vulnerabilities (9 low, 4 high)
  run `npm audit fix` to fix them, or `npm audit` for details
    Successfully initialized git.

进入 my-app 目录,查看一下目录结构:

$ cd my-app 
$ ll
total 752
-rw-r--r--    1 wangtest  staff   1.0K  6  6 09:35 README.md
-rw-r--r--    1 wangtest  staff   3.5K  6  6 09:35 angular.json
drwxr-xr-x    5 wangtest  staff   170B  6  6 09:35 e2e
drwxr-xr-x  810 wangtest  staff    27K  6  6 09:35 node_modules
-rw-r--r--    1 wangtest  staff   354K  6  6 09:36 package-lock.json
-rw-r--r--    1 wangtest  staff   1.3K  6  6 09:36 package.json
drwxr-xr-x   16 wangtest  staff   544B  6  6 09:35 src
-rw-r--r--    1 wangtest  staff   384B  6  6 09:35 tsconfig.json
-rw-r--r--    1 wangtest  staff   2.7K  6  6 09:35 tslint.json

步骤3: 启动应用

进入 my-app 目录,使用 ng serve 命令来启动服务。

$ ng serve --open
** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
                                                                                          
Date: 2018-06-06T01:37:56.467Z
Hash: e7f3a0dd961d09e46007
Time: 8915ms
chunk {main} main.js, main.js.map (main) 10.7 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 227 kB [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 5.22 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 15.6 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 3.39 MB [initial] [rendered]
ℹ 「wdm」: Compiled successfully.

命令 ng serve, 创建一个服务,并监控项目中的文件,如果文件有变动,会自动构建应用,可以在浏览器中实时查看效果。
参数 --open, 可以在自动直接打开浏览器,并访问应用。

步骤4: 编辑 Angular 组件 (Angular component)

通过 Angular CLI 命令行工具,已经创建了 Angular component 组件。 在根目录的 component 叫做 app-root . 在 ./src/app/app.component.ts 文件中可以看到根组件内容。

打开 src/app/app.component.ts 文件:

修改 title 内容, 将 “app” 为 “My First Angular App”。 再增加一个变量 author, 内容为 "Web后端技术学习社区", 一会将在模板文件中展示。

// src/app/app.component.ts
import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'My First Angular App';
  author = 'Web后端技术学习社区';
}

打开 src/app/app.component.html 文件,修改模板内容:

<div style="text-align:center">
  <h1>
     Welcome to {{ title }}!
  </h1>

  <p> {{ author }} </p>
</div>

打开 src/app/app.component.css 文件,可以修改样式文件:

h1 {
  color: #369;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 250%;
}

浏览器会自动展示修改后的内容。

Angular显示效果

关于代码 src 目录

我们的代码都在 src 目录中,所有的 Angular 的 组件(components), 模板文件(templates), 样式文件(styles), 图片(images)等都会放置在这个目录中。

大概看一下这个 src 目录的的基本结构:

$ tree src 
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语法
3 directories, 18 files

欢迎关注公众号获取更多内容: Web后端技术学习社区

参考内容

http://dwz.cn/80xYoe
https://angular.io/guide/quickstart

原文发布时间为:2018年06月06日
本文作者: 王永濤
本文来源:开源中国  如需转载请联系原作者
相关文章
|
4月前
|
前端开发 开发者 安全
JSF支付功能大揭秘:探索如何在Java世界中实现安全无缝的在线支付体验
【8月更文挑战第31天】在电子商务和在线交易日益普及的今天,实现在线支付功能已成为许多Web应用的必备需求。JavaServer Faces (JSF) 作为一种流行的Java Web框架,提供了丰富的组件和工具来构建用户界面,包括与支付网关集成以实现在线支付。支付网关是处理信用卡和借记卡支付的系统,在商家和银行之间起到桥梁作用。本文将探讨如何使用JSF与支付网关集成,以及实现在线支付功能时需要考虑的关键点
50 0
|
设计模式 JSON 监控
angular快速入门指南
angular快速入门指南
146 0
|
Web App开发
Angular 路由快速入门
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/inforstack/article/details/78860381 浏览器具有我们熟悉的导航模式: 在地址栏输入URL,浏览器就会导航到相应的页面。
885 0
|
4月前
|
API 开发者 UED
PrimeFaces:JSF的魔法衣橱,解锁UI设计的无限可能!
【8月更文挑战第31天】本文介绍如何结合 JSF(JavaServer Faces)和 PrimeFaces 构建美观且功能强大的现代用户界面。PrimeFaces 提供丰富的 UI 组件库,包括按钮、输入框、数据网格等,支持现代 Web 标准,简化界面开发。文章通过具体示例展示如何使用 `&lt;p:inputText&gt;` 和 `&lt;p:calendar&gt;` 等组件创建用户表单,并用 `&lt;p:dataTable&gt;` 展示数据集合,提升 JSF 应用的易用性和开发效率。
63 0
|
4月前
|
开发者 安全 SQL
JSF安全卫士:打造铜墙铁壁,抵御Web攻击的钢铁防线!
【8月更文挑战第31天】在构建Web应用时,安全性至关重要。JavaServer Faces (JSF)作为流行的Java Web框架,需防范如XSS、CSRF及SQL注入等攻击。本文详细介绍了如何在JSF应用中实施安全措施,包括严格验证用户输入、使用安全编码实践、实施内容安全策略(CSP)及使用CSRF tokens等。通过示例代码和最佳实践,帮助开发者构建更安全的应用,保护用户数据和系统资源。
57 0
|
4月前
|
开发者 C# C++
揭秘:如何轻松驾驭Uno Platform,用C#和XAML打造跨平台神器——一步步打造你的高性能WebAssembly应用!
【8月更文挑战第31天】Uno Platform 是一个跨平台应用程序框架,支持使用 C# 和 XAML 创建多平台应用,包括 Web。通过编译为 WebAssembly,Uno Platform 可实现在 Web 上运行高性能、接近原生体验的应用。本文介绍如何构建高效的 WebAssembly 应用:首先确保安装最新版本的 Visual Studio 或 VS Code 并配置 Uno Platform 开发环境;接着创建新的 Uno Platform 项目;然后通过安装工具链并使用 Uno WebAssembly CLI 编译应用;最后添加示例代码并测试应用。
123 0
|
4月前
|
开发者 前端开发 开发框架
JSF与移动应用,开启全新交互体验!让你的Web应用轻松征服移动设备,让用户爱不释手!
【8月更文挑战第31天】在现代Web应用开发中,移动设备的普及使得构建移动友好的应用变得至关重要。尽管JSF(JavaServer Faces)主要用于Web应用开发,但结合Bootstrap等前端框架,也能实现优秀的移动交互体验。本文探讨如何在JSF应用中实现移动友好性,并通过示例代码展示具体实现方法。使用Bootstrap的响应式布局和组件可以确保JSF页面在移动设备上自适应,并提供友好的表单输入和提交体验。尽管JSF存在组件库较小和学习成本较高等局限性,但合理利用其特性仍能显著提升用户体验。通过不断学习和实践,开发者可以更好地掌握JSF应用的移动友好性,为Web应用开发贡献力量。
53 0
|
4月前
|
JavaScript 开发者
从零基础到实战应用:Angular入门指南带你一步步构建你的第一个Web应用——全面介绍环境搭建、项目创建、组件开发与应用集成
【8月更文挑战第31天】本文档是针对初学者的Angular入门指南。通过详细步骤与示例代码,教你如何使用Angular CLI搭建开发环境、创建新项目、添加及配置组件,并运行首个应用。Angular是由Google开发的强大Web框架,专为高效构建复杂单页应用设计。按照本指南操作,你将能够快速上手Angular,开启Web应用开发之旅。
111 0
|
4月前
|
前端开发 JavaScript 测试技术
Angular CLI 快速入门超棒!这个提高开发效率的必备工具,带你轻松开启 Angular 项目之旅!
【8月更文挑战第31天】作为一名前端开发者,我发现Angular CLI是提升Angular项目开发效率的强大工具。它是Angular团队提供的命令行工具,能快捷创建、开发及维护项目。通过简单命令即可创建项目、生成组件、服务、模块等,并支持构建、测试与部署,大幅简化开发流程,使开发者更专注业务逻辑。项目结构清晰,便于理解和维护,极大地提高了开发效率。如果你还未尝试Angular CLI,强烈推荐一试,其便捷性定会让你爱不释手。
45 0
|
4月前
|
前端开发 JavaScript 编译器
【性能革命】Angular Ivy编译器:一场前端开发者的极速盛宴,揭秘应用瘦身与提速的黑科技,让你的Angular项目焕发新生的终极指南
【8月更文挑战第31天】Angular Ivy编译器是Angular团队推出的更新,旨在改善应用性能,减少构建时间和代码量。自Angular 9起,Ivy成为默认编译器。本文通过案例分析,介绍Ivy的工作原理及其优势。以一个复杂应用为例,展示了Ivy如何通过减少生成的JavaScript代码量、优化模板表达式解析等方式提升性能。通过创建示例项目并比较启用与未启用Ivy的构建结果,证明了Ivy在构建速度和文件大小上的显著改进,同时提高了运行时性能。这对于追求高性能和快速开发的应用至关重要。
38 0