Angular 2 - 5 分钟快速入门
原文地址: https://angular.io/docs/ts/latest/quickstart.html
让我们从 0 开始创建一个简单的 Angular 2 应用。
下载任何版本的 angularjs, 访问:https://code.angularjs.org/
不想用 JavsScript 语言?
虽然我们这里使用 JavaScript, 你也可以使用 TypeScript,或者 Dart 来开发 Angular 2 应用。
我们将用 6 步完成
1. 创建项目文件夹
2. 安装基础库
3. 创建应用组件
4. 启动应用
5. 创建 index.html
6. 运行
1. 创建项目文件夹
创建一个新的文件夹来保存你的项目,应该类似下面的样子。
mkdir angular2-quickstart
cd angular2-quickstart
2. 安装基础库
我们使用 npm package manager 来安装需要的开发库和开发工具。
angular2 - Angular 2 库
live-server - 一个静态文件服务器,可以在修改文件之后,自动重新加载到浏览器中。
我们既可以直接引用 Web 上的库,也可以下载项目中。
还没有安装 NPM?赶紧安装它,我们在这里将会不断使用这个工具。
打开终端窗口,输入下面的命令。
npm init -y
npm i angular2@2.0.-alpha. --save --save-exact
npm i live-server --save-dev
这些命令将会创建名为 package.json 的项目文件,安装相应的软件包,现在的 package.json 看起来应该如下所示。
{
"name": "angular2-getting-started",
"version": "1.0.0",
"dependencies": {
"angular2": "2.0.0-alpha.44"
},
"devDependencies": {
"live-server": "^0.8.1"
}
}
还需要一个 scripts 的配置节,找到并替换为如下的内容, 在你的文件中可能根本就没有这个配置节, 那就加上好了.
"scripts": {
"start": "live-server"
}
我们使用它来扩展项目,以便运行脚本命令,很快就会用到。
3. 第一个 Angular Component
添加一个名为 app.js 的文件,输入下面的内容。
var AppComponent = ng
.Component({
selector: 'my-app',
template: '<h1>My First Angular 2 App</h1>'
})
.Class({
constructor: function () { }
});
我们正在创建一个名为 AppComponent 的可视组件,通过使用全局的 ng 命名空间下的 Component 和 Class 方法来完成。
var AppComponent = ng
.Component({...})
.Class({...})
Component 方法需要一个包含两个属性的配置对象。selecter 属性告诉 Angular 需要控制名为 "my-app" 的元素。一旦遇到 my-app 元素,Angular 将会创建和显示 AppComponent 实例
template 属性定义了组件的可视外观。在这个示例中,我们使用了内联的模板,我们也可以把这个模板调整到一个模板文件中,然后通过 templateUrl 来关联模板文件的名称来使用它。
我们使用 Class 方法实现这个组件本身的内容,可以定义属性,方法并绑定到这个视图
现在的组件是一个最小化的实现,构造函数中没有内容。在以后的示例中,我们会看到很多有趣的内容。
4. 启动应用
我们需要在应用中做点什么,在 app.js 的最后,添加下面的内容。
document.addEventListener('DOMContentLoaded', function() {
ng.bootstrap(AppComponent);
});
我们等到浏览器通知我们说,内容已经加载完成了,然后再调用 bootstrap 方法。
bootstrap 方法通知 Angular 使用 AppComponent 作为应用的根来启动应用,
应该可以猜到, 在应用变得复杂的情况下, 我们会创建一个 Component 的树来完成复杂的工作.
Wrapped in an IIFE
我们不希望污染全局命名空间,但是,现在还不需要应用到命名空间,我们直接使用 IIFE ( Immediately Invoked Function Execution ) 来封装我们的代码。
(function() {
var AppComponent = ng
.Component({
selector: 'my-app',
template: '<h1>My First Angular 2 App</h1>'
})
.Class({
constructor: function () { }
});
document.addEventListener('DOMContentLoaded', function() {
ng.bootstrap(AppComponent);
});
})();
5. 创建 index.html
在项目文件夹中添加名为 index.html 的页面,内容如下:
<html>
<head>
<title>Angular 2 QuickStart</title>
<script src="node_modules/angular2/bundles/angular2.sfx.dev.js"></script>
<script src="app.js"></script>
</head>
<body>
<my-app></my-app>
</body>
</html>
在 head 中,我们的应用加载了两个脚本
angular2.sfx.dev.js, Angular2 的开发库
app.js, 我们刚刚开发的脚本。
在 body 中,使用了名为 <my-app> 的元素,这是应用的根的占位,Angular 将在这里显示我们的应用。
6. Run it!
我们需要一个文件服务器来服务静态资源。
对这个示例来说,我们这里使用通过 npm 安装的 live-server,因为它默认就提供了动态加载。
打开终端窗口,输入下面的命令。
npm start
还记得我们添加的 npm 命令吗?
live-server 自动帮我们启动浏览器,当我们更新文件的时候,还可以自动刷新页面。
稍等一下,浏览器就会显示出下面的内容。

做一点修改
live-server 自动检测项目文件的修改,并刷新浏览器。
将项目的信息修改为 "My Second Angular 2 app.", live-server 会检测到修改自动刷新显示。
保持 live-server 运行在终端窗口中,并进行更多的修改,可以使用 Ctrl-C 来停止它。
祝贺你,我们完成了!
Angular 2 - 5 分钟快速入门的更多相关文章
- Vue.js 60 分钟快速入门
Vue.js 60 分钟快速入门 转载 作者:keepfool 链接:http://www.cnblogs.com/keepfool/p/5619070.html Vue.js介绍 Vue.js是当下 ...
- 不会几个框架,都不好意思说搞过前端: Vue.js - 60分钟快速入门
Vue.js——60分钟快速入门 Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理 ...
- 一分钟快速入门openstack
一.它是什么,能干什么想认识一个事物,必须先弄明白它是什么,能干什么.首先说一下,openstack是一个搭建云平台的一个解决方案,说他不是个软件,但是我觉得说是一个软件,能够让大家认识更清晰些.op ...
- Vue.js——60分钟快速入门(转)
vue:Vue.js——60分钟快速入门 <!doctype html> <html lang="en"> <head> <meta ch ...
- AngularJS 30分钟快速入门【译】
引用自:http://www.revillweb.com/tutorials/angularjs-in-30-minutes-angularjs-tutorial/,翻译如下: 简介 我三年前开始使用 ...
- 5分钟快速入门 - Less
下面给大家讲解下Less,纯手工,入门级别,相信没学过的人阅读完后就懂了,以下是我要讲的四点: 简单介绍 Less CSS 是一个使用广泛的 CSS 预处理器. 对 CSS 进行扩展,减少很多 CSS ...
- ichartjs一分钟快速入门教程
1.构建项目环境 由于ichartjs是一个js库,所以只要将ichart.js加入你页面的head中就完成了ichartjs的运行环境.代码如下: <script type="tex ...
- Redis 十分钟快速入门
本教程是一个快速入门教程,所以Redis的命令只是简单介绍了几个常用的,如果有其他需求请求官网查看API 使用. 1. Redis简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的ke ...
- 翻译:Angular 2 - TypeScript 5 分钟快速入门
原文地址:https://angular.io/docs/ts/latest/quickstart.html Angular 2 终于发布了 beta 版.这意味着正式版应该很快就要发布了. 让我们使 ...
随机推荐
- Android APP性能分析方法及工具
近期读到<Speed up your app>一文.这是一篇关于Android APP性能分析.优化的文章.在这篇文章中,作者介绍他的APP分析优化规则.使用的工具和方法.我觉得值得大家借 ...
- 利用UICollectionViewFlowLayout的隐式动画实现UICollectionView的layout的动画调整(外加放大指定cell效果)
前几天在gitHub看到个不错的效果,就是DaiExpandCollectionView,效果如图: 所以赶紧下下来源码看看他怎么实现的,打开源码看了半天,发现他没写什么关于动画的代码啊... 经 ...
- .NET 4.5 中新提供的压缩类
Windows8 的开发已经如火如荼开始了,在 Windows8 中提供的 .NET Framework 已经更新到了 4.5 版,其中又增加了一些新的特性,对压缩文件的支持就是其中之一. 在 4.5 ...
- XML语言基础2 DTD
XML DTD 文档类型定义(DTD)可定义合法的XML文档构建模块.它使用一系列合法的元素来定义文档结构. DTD可被声明于XML文档中,也可以作为一个外部的引用. 内部的DOCTYPE声明 假如D ...
- .NET Framework各版本比较
(1)本文比较了.NET Framework多个版本之间的区别,方便各位选择和切换.NET Framework. 版本号 发布日期 Visual Studio的版本 Windows上的默认情况 CLR ...
- Unable to open the physical file xxxx. Operating system error 2
在新UAT服务器上,需要将tempdb放置在SSD(固态硬盘)上.由于SSD(固态硬盘)特性,所以tempdb的文件只能放置在D盘下面,而不能是D盘下的某一个目录下面. ALTER DATABASE ...
- SQL Server 2008 R2——根据数据查找表名和字段名 根据脏数据定位表和字段
=================================版权声明================================= 版权声明:原创文章 谢绝转载 请通过右侧公告中的“联系邮 ...
- OAF通过Iterator标准遍历各行
这两天本人接到客户反映的bug:oaf的采购订单页面,在添加超过10行提交后,会出现空指针异常.原来,oaf的默认显示行数为10行,超过10行,页面会分页.报空指针异常,就是因为没有取到分页的行.之前 ...
- HTML 5 的自定义 data-* 属性和jquery的data()方法的使用
人们总喜欢往HTML标签上添加自定义属性来存储和操作数据.但这样做的问题是,你不知道将来会不会有其它脚本把你的自定义属性给重置掉,此外,你这样做也会导致html语法上不符合Html规范,以及一些其它副 ...
- 2-3 Linux文件管理命令详解
1. 复制文件 cp: copy 格式 SRCFILE DEST 一个文件到一个文件 多个文件到一个目录 注,cd 后面什么都不加,是进入用户的家目录 如果目标文件不存在,则先创建文 ...