深入理解angular2启动项目步骤


Posted in Javascript onJuly 15, 2017

1. 创建项目文件夹

创建一个新的文件夹来保存你的项目,比如一开始有个self就好了

深入理解angular2启动项目步骤

2.安装基础库

首先确保已经安装了node.js

我们使用 npm package manager  来安装需要的开发库和开发工具。

打开终端窗口,输入下面的命令。

npm install

如果在执行npm install命令时没有出现npm ERR!,一起都好。可能会有几个npm WARN消息,这也没有影响。
我们会经常在一连串的gyp ERR!(gyp: generate your project)消息后看到一个npm WARN消息。不用管他们。一个包会使用node-gyp重新编译自己。如果重新编译失败,包会恢复(场使用一个预编译版本),一切正常工作。
只要保证在npm install命令最后面没有npm ERR!就好。

之后再执行下面的命令

npm init -y
npm i angular2@2.0.0-alpha.44 --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 将在这里显示我们的应用。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript radio 联动效果
Mar 04 Javascript
使用js判断TextBox控件值改变然后出发事件
Mar 07 Javascript
浅谈jquery中delegate()与live()
Jun 22 Javascript
详解Vue.js动态绑定class
Dec 20 Javascript
js实现简单的选项卡效果
Feb 23 Javascript
Node.js中流(stream)的使用方法示例
Jul 16 Javascript
vue 简单自动补全的输入框的示例
Mar 12 Javascript
利用npm 安装删除模块的方法
May 15 Javascript
vue使用echarts图表的详细方法
Oct 22 Javascript
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
May 18 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
Jul 17 Javascript
Javascript基于OOP实实现探测器功能代码实例
Aug 26 Javascript
js+html5实现复制文字按钮
Jul 15 #Javascript
js+html5实现页面可刷新的倒计时效果
Jul 15 #Javascript
详解ES6之用let声明变量以及let loop机制
Jul 15 #Javascript
vue增删改查的简单操作
Jul 15 #Javascript
JavaScript实现跟随滚动缓冲运动广告框
Jul 15 #Javascript
Javascript实现基本运算器
Jul 15 #Javascript
基于AngularJS的拖拽文件上传的实例代码
Jul 15 #Javascript
You might like
十大感人催泪爱情动漫 第一名至今不忍在看第二遍
2020/03/04 日漫
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
PHP 地址栏信息的获取代码
2009/01/07 PHP
将一维或多维的数组连接成一个字符串的php代码
2010/08/08 PHP
php 模拟get_headers函数的代码示例
2013/04/27 PHP
php 根据自增id创建唯一编号类
2017/04/06 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
PHP设计模式之单例模式原理与实现方法分析
2018/04/25 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
Javascript load Page,load css,load js实现代码
2010/03/31 Javascript
javascript实现俄罗斯方块游戏的思路和方法
2015/04/27 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
AngularJs实现分页功能不带省略号的代码
2016/05/30 Javascript
jQuery实现手机自定义弹出输入框
2016/06/13 Javascript
js事件驱动机制 浏览器兼容处理方法
2016/07/23 Javascript
Angular2从搭建环境到开发步骤详解
2016/10/17 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
使用JS和canvas实现gif动图的停止和播放代码
2017/09/01 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
[01:03:00]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第一局
2016/02/25 DOTA
python类继承与子类实例初始化用法分析
2015/04/17 Python
python决策树之C4.5算法详解
2017/12/20 Python
Python实现生成随机数据插入mysql数据库的方法
2017/12/25 Python
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
python opencv 二值化 计算白色像素点的实例
2019/07/03 Python
django2.2 和 PyMySQL版本兼容问题
2020/02/17 Python
基于logstash实现日志文件同步elasticsearch
2020/08/06 Python
linux面试题参考答案(8)
2015/08/11 面试题
金融管理应届生求职信
2014/02/20 职场文书
团干部培训方案
2014/06/03 职场文书
就业协议书怎么填
2014/09/15 职场文书
2015年艾滋病防治工作总结
2015/05/22 职场文书
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
2021/05/21 PostgreSQL
MySQL分区路径子分区再分区
2022/04/13 MySQL
Win11查看设备管理器
2022/04/19 数码科技