Angular2是一款开源JavaScript库,由Google维护,用来创建页面应用程序。正式发布于2016年9月,基于ES6开发。

一、准备工作

使用Angular2开发,需要预先做一些配置上的配置,如NPM、Node.Js、Git等,还要对TypeScript有个大概的了解。

a)NPM是随同NodeJS一起安装的包管理器,那应该类似NuGet的作用了。NPM集成在了NodeJS安装包,可以一起安装,在CMD输入npm –v和node –v可以验证是否已安装。

b)TypeScript则是由微软开发的开源编程语言,是JavaScript的超级,扩展了JavaScript的语法,并且是强类型的。TypeScript的安装,可以下载安装包,也可以在CMD输入$ npm install -g typescript安装。

c) 使用TypeScript编写HelloWorld

创建index.html文件如下,引用hello.js。当前并不存在hello.js,需要从TypeScript编写的hello.ts编译生成。

hello.ts文件中只是简单的alert,这儿看不出typescript语法的特点。

然后在CMD加入文件所在的位置并执行tsc hello.ts,当前文件夹中就会出现hello.js,index.html就可以运行了。

d) 还要安装Git,之前顺便安装了GitExtension和TortoiseGit。

二、开始Angular 2

a) 使用Git Bash,创建项目存放路径。然后在目录中创建package.json、tsconfig.json、typings.json文件,内容可以从Angular2的GitHub或本书的示例代码复制。

然后需要执行npm install安装依赖组件,但国内基本无法直接使用npm,可以先安装淘宝的镜像$ npm install -g cnpm --registry=https://registry.npm.taobao.org,然后执行 cnpm install,cnpm会根据package.json下载需要依赖的组件。

b) 新建index.html内容为:

当前只添加了需要引用的js和css,没有其它内容。有必要了解一下添加这几个js引用的目的。

ES6Shim,Shim为垫片的意思,这个文件的作用主要为了保证对旧版本浏览器的兼容性。对于支持最新的ES6标准的浏览器,可以不需要这个文件。

Zone,大概作用是让Angular能够检测数据的变化,当前无法深入了解。

ReflectMetadata,Angular2使用Typescript语言,TypeScript具有类型注解(Annotation),添加这个引用是为了能够使用这些注解。

SystemJs,是一个模块加载器,用于创建模块并解析模块间的依赖。

c) 接下来创建TypeScript文件app.ts,.ts文件之后会被编译成.js文件。

使用import{things} from “where”的格式,添加依赖项。

Angular2的最大特点就是组件(component)。正常情况下,浏览器只能识别属于html的标记,比如<form>、<ul>等,如果想要浏览器识别一个<hello-world>标签,按照常理是不可能的,但这真是Angular2的组件要做的,即“教会浏览器识别新的标签”。

上面图片中@Component中便是定义了一个组件,selector属性指定了DOM元素即标签的名称,编译时会找到对应的组件做处理。

template属性可以指定模板,模板用倒引号( `…` )括起来,倒引号语法是ES6的新特性,可支持多行字符。

最后一行的bootstrap(HelloWorld);设定了程序的“入口”为HelloWorld组件,程序启动后,HelloWorld会首先被渲染。

学习资料:The Complete Book on AngularJS 2 by Ari Lerner, Felipe Coury, NateMurray, Carlos Taborda

Angular 2基础(一) 环境搭建的更多相关文章

  1. Centos 基础开发环境搭建之Maven私服nexus

    hmaster 安装nexus及启动方式 /usr/local/nexus-2.6.3-01/bin ./nexus status Centos 基础开发环境搭建之Maven私服nexus . 软件  ...

  2. Angular总结一:环境搭建

    工欲善其事必先利其器,开发 Angular 项目首先要搭建环境.Angular 的环境搭建包括三个方面,开发环境 WebStorm,命令行工具 Angular CLI,以及 nodejs. 一.安装 ...

  3. Python基础1-Python环境搭建

    Python环境搭建首先通过终端窗口输入 "python" 命令来查看本地是否已经安装Python以及Python的安装版本: 若未安装则需要下载安装,下面为linux和windo ...

  4. 大数据基础-2-Hadoop-1环境搭建测试

    Hadoop环境搭建测试 1 安装软件 1.1 规划目录 /opt [root@host2 ~]# cd /opt [root@host2 opt]# mkdir java [root@host2 o ...

  5. .Net Core + Angular Cli / Angular4 开发环境搭建

    一.基础环境配置 1.安装VS 2017 v15.3或以上版本 2.安装VS Code最新版本 3.安装Node.js v6.9以上版本 4.重置全局npm源,修正为 淘宝的 NPM 镜像: npm  ...

  6. .Net Core+Angular Cli/Angular4开发环境搭建教程

    一.基础环境配置1.安装VS2017v15.3或以上版本2.安装VSCode最新版本3.安装Node.jsv6.9以上版本4.重置全局npm源,修正为淘宝的NPM镜像:npminstall-gcnpm ...

  7. Angular入门,开发环境搭建,使用Angular CLI创建你的第一个Angular项目

    前言: 最近一直在使用阿里的NG-ZORRO(Angular组件库)开发公司后端的管理系统,写了一段时间的Angular以后发现对于我们.NET后端开发而言真是非常的友善.因此这篇文章主要是对这段时间 ...

  8. Angular2.0 基础: 环境搭建

    最近在学习Angular2的使用,其实看过Angular2 文档的都知道,相比于之前的Angular1,Angular2 的改动还是挺大的. 而对于‘angular2 的本地开发环境的搭建的中,我们首 ...

  9. 【1】循序渐进学 Zabbix :初识与基础依赖环境搭建( LNMP )

    写在前面的话 运维监控是一个很大的话题,在这一块个人接触的比较突出的服务主要有 Nagio 和 Zabbix 两款.而这几年跳过的公司中,Zabbix 一直都是首选且唯一选择,Nagios 没遇到. ...

随机推荐

  1. 从理论到实践 全面理解HTTP/2

    前言 为了降低加载时间,相信大多数人都做过如下尝试 Keep-alive: TCP持久连接,增加了TCP连接的复用性,但只有当上一个请求/响应完全完成后,client才能发送下一个请求 Pipelin ...

  2. 哥们,你真以为你会做这道JVM面试题?

    有关Java虚拟机类加载机制相关的文章一搜一大把,笔者这里也不必再赘述一遍了. 笔者这里捞出一道code题要各位大佬来把玩把玩,如果你一眼就看出了端倪,那么恭喜你,你可以下山了: public cla ...

  3. python修改文件中字符串并写入

    python实际工作中,做一些小工具,很方便.最近在做一个格式转换工具时候,用到了替换文件中特定字符串的 功能.当初没直接想出来,就在网上查了一下,做个记录,方便后续使用. # -*- coding: ...

  4. 【sping揭秘】17、@Around,@Introduction

    package cn.cutter.start.bean; import org.apache.commons.logging.Log; import org.apache.commons.loggi ...

  5. Flask源码复习之路由

    构建路由规则 一个 web 应用不同的路径会有不同的处理函数,路由就是根据请求的 URL 找到对应处理函数的过程. 在执行查找之前,需要有一个规则列表,它存储了 url 和处理函数的对应关系.最容易想 ...

  6. TCP/IP 笔记 - Internet地址结构

    连接到Internet中的每台设备至少都有一个IP地址,IP地址表示了流量的来源(好比别人要找你玩,需要知道你家的地址:网络中别人需要和你通信,也需要知道IP地址),且Internet中的IP地址必须 ...

  7. leetcode — remove-nth-node-from-end-of-list

    /** * Source : https://oj.leetcode.com/problems/remove-nth-node-from-end-of-list/ * * Created by lve ...

  8. 方便操作的命名范围scope

    <?php namespace Goods\Model; use Think\Model; class GoodsModel extends Model { protected $_scope ...

  9. IceCTF 图片隐写

    blue monday 下载一个文件,知道是MIDI文件,后缀改为.mid可以直接播放 一开始以为是两种乐器构成摩斯密码,后来在winhex里看字符发现了每一段的第一个字母恰好有flag的形式,于是提 ...

  10. FFmpeg时间戳详解

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10584910.html 1. I帧/P帧/B帧 I帧:I帧(Intra-coded pi ...