好的工具往往使得开发应用更快更简单,而不是任何模块都手动开发。angualr cli就是一个支持 创建工程,添加文件,对各种任务如测试、打包、部署等迭代。

本文的目的就是基于TypeScript开发构建一个angualr应用,使用angualr cli可以选择工程的风格。

在本章的 末尾,你可以理解CLI的开发以及开发完整应用的样例。

也可以通过这个链接直接下载源码。

第一步,配置环境变量

在开始开发前,需要安装nodejs。

点击这个网址,Nodejs安装文件下载

在命令行中,执行:

sudo npm install -g @angular/cli

注意执行命令的权限,否则会提示无法写入文件异常。

第二步,创建新工程

打开命令行,创建一个新的工程框架:

ng new my-app

创建工程需要花点时间,稍等一会就行了。

第三步,启动应用

在项目目录,执行命令:

cd my-app
ng serve --open

ng serve会启动服务器,监控文件,当修改的时候重启应用。

使用--open 选项会自动开启浏览器并访问http://localhost:4200

可以看到下面的信息:

第四步,编辑angular组件

cli创建了angualr组件,应用组件被命名为app=root,可以在./src/app/app,component.ts中看到。打开文件,修改:

src/app/app.component.ts

export class AppComponent {
title = 'My First Angular App!';
}

浏览器会自动加载重新显示标题。看起来还不错,不过可以在优化一下。

打开src/app/app.component.css设置样式

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

看起来就不错了。

项目文件

首先可以关注下readme.md,它里面包含了cli的基本操作。

更多信息可以参考:

src目录

应用所有的内容都在src目录中,包括组件、模板、样式、图片或者任何app需要的东西。在src之外的内容都被认为是支持app构建的资源。

src
.
├── README.md
├── e2e
│   ├── app.e2e-spec.ts
│   ├── app.po.ts
│   └── tsconfig.e2e.json
├── karma.conf.js
├── node_modules
│   ├──...
├── package-lock.json
├── package.json
├── protractor.conf.js
├── src
│   ├── app
│   ├── assets
│   ├── environments
│   ├── favicon.ico
│   ├── index.html
│   ├── main.ts
│   ├── polyfills.ts
│   ├── styles.css
│   ├── test.ts
│   ├── tsconfig.app.json
│   ├── tsconfig.spec.json
│   └── typings.d.ts
├── tsconfig.json
└── tslint.json

app目录

file 作用
app/app.component.{ts,html,css,spec.ts} 通过html模板定义app,是应用基础组件
app/app.module.ts 描述如何定义应用
assets/* 用来放置图片和部署应用时需要的资源
environments/* 配置信息
favicon.ico 网站图标
index.html 主要的html文件,一般时候不需要修改。CLI会自动添加js和css资源
main.ts 应用的主要入口,基于JIT编译应用,并在浏览器中运行。
polyfills.ts 浏览器支持标准相关
styles.css 样式文件
test.ts 单元测试
tsconfig.{app spec}.json

root目录

src目录下包含了工程内部的内容,其他的文件则帮助测试、支持、文档、发布应用。

file 作用
e2e 里面包含了点对点的测试文件
node_modules 依赖的资源,基于package.json管理
.angular-cli.json cli的配置文件
.editorconfig 编辑器配置
.gitignore git忽略的文件
karma.conf.js karma test 单元测试
package.json npm管理的第三方组件
protractor.conf.js Protractor测试配置文件
readme.md 工程基本的信息
tsconfig.json TypeScript编译配置
tslint.json TSLint配置

Angular2入门体验的更多相关文章

  1. 有没有最好的学习Angularjs2的视频入门体验?

    Which are the best video tutorials for learning AngularJS 2? 有没有最好的学习Angularjs2的视频入门体验? 翻译来源:https:/ ...

  2. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  3. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

  4. Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数

    上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...

  5. Angular2入门系列教程4-服务

    上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...

  6. 第1章Java入门体验

    第1章Java入门体验 1.java简介和平台应用 Java是sun公司开发出来,现在属于ORACLE公司java分为几个部分:首先是最基础的Java SE部分,这部分是Java的基础知识,主要包括: ...

  7. Vert.x入门体验

    Vert.x入门体验 一.概述 Vert.x(http://vertx.io)是一个基于JVM.轻量级.高性能的应用平台,非常适用于最新的移动端后台.互联网.企业应用架构. 二.安装配置 访问Vert ...

  8. SpringBoot集成Spring Security入门体验

    一.前言 Spring Security 和 Apache Shiro 都是安全框架,为Java应用程序提供身份认证和授权. 二者区别 Spring Security:重量级安全框架 Apache S ...

  9. Angular2入门系列(五)———— 路由参数设置

    Angular2入门系列(五)---- 路由参数设置路由配置: { path: '', component: CarProFile, children: [ { path: 'add', compon ...

随机推荐

  1. 前端之 js的介绍和javascript的基础使用

    一 javasvript的介绍 JavaScript概述 1 JavaScript发展史 1.1 1992年Nombas开发出C-minus-minus(--)的嵌入式的脚本语言(最初绑定在CEnvi ...

  2. mysql之索引查询2

    一 索引的创建 索引减慢了 写的操作,优化了读取的时间 index:普通索引,加速了查找的时间. fulltext:全文索引,可以选用占用空间非常大的文本信息的字段作为索引的字段.使用fulltext ...

  3. python 函数学习sys.argv[]

    sys.argv 参数 「argv」是「argument variable」参数变量的简写形式,一般在命令行调用的时候由系统传递给程序.这个变量其实是一个List列表,argv[0] 一般是“被调用的 ...

  4. 2018.11.01 bzoj4872: [Shoi2017]分手是祝愿(期望dp)

    传送门 一道不错的题. 考虑n==kn==kn==k的时候怎么做. 显然应该从nnn到111如果灯是开着的就把它关掉这样是最优的. 不然如果乱关的话会互相影响肯定不如这种优. 于是就可以定义状态f[i ...

  5. OEM-ODM-OBM

    Original Equipment ManufacturerOriginal Design ManufacturerOwn Branding & Manufacturing OEM,即“原始 ...

  6. 3-具体学习git--reset回到过去的版本(commit间穿梭),checkout单个文件穿梭

    git log --oneline 命令可以在一块儿显示做过的改动. 我在change 2时忘了一条,想在change 1后再添加一个语句或一个操作,然后这个状态再提交仍作为change 2.将这个s ...

  7. Java编程从头开始---老妪能解

    思想导向: 今天想要分享的是最基础的东西就是如何写一个简单的代码,很多人都是小白,需要的其实并不是很高端的理论,框架和思维模式啊,设计方法啊,这些对于一个新人来说实在是好高骛远,说的那么高端,结果要学 ...

  8. 移动端meta设置

    网页作者: <meta name="author" content="name, email@gmail.com"/>声明文档使用的字符编码: &l ...

  9. jquery的bind()和trigger()

    本文主要介绍JQuery的trigger()和bind()方法. 1.   $(selector).bind(event,data,function)方法为被选元素添加一个或多个事件处理程序,并规定事 ...

  10. 20) maven 项目结构:all in one

    这是最常见的项目结构 垂直结构 也是初学者常用的 也是小项目常用的 优点 全部代码在一个项目里,一目了然. 结构简单易于理解 一开始时小巧 缺点 随之而来的缺点也十分明显 前端项目,后端项目,接口项目 ...