好的工具往往使得开发应用更快更简单,而不是任何模块都手动开发。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. 海港(NOIP2016)

    题目链接:海港 这一题怎么样呢?还好吧,也不是太难,没有用到什么特殊的算法,但写法还是很值得学习的.下面讲一下思路: 我们维护三个队列(这里我们采用自己手写的队列,因为这比STL的要快,不过这一题,S ...

  2. Mysql #1406 Data too long 错误

    Mysql #1406 Data too long 错误 http://blog.sina.com.cn/s/blog_68004f680100kgfh.html B. Mysql配置文件:   “在 ...

  3. POSTMAN 数据关联

    概述 在使用postman测试接口是,我们可能需要先获取一个token,然后再将这个token发送到第二个请求.这个需要做postman的关联,一次性完成这两个测试. 实现方法 1.编写两个控制器方法 ...

  4. kmp算法笔记

    https://blog.csdn.net/v_july_v/article/details/7041827#comments 链接讲得很详细,画几个重点方便以后忘了捡 next[]数组从第i位递推算 ...

  5. springboot+mysql实现quartz集群搭建

    一.基本概念 Quartz核心的概念:scheduler任务调度.Job任务.Trigger触发器.JobDetail任务细节. scheduler任务调度: 是最核心的概念,需要把JobDetail ...

  6. js实现百度搜索框滑动固定顶部

    现在很多主流系统例如百度.有道.爱奇艺等的搜索框都有一个特点,滑动到刚好看不到搜索框时,固定搜索框到顶部,这也算是一个对用户友好型的操 作. 在看了百度的js和css后自己摸索出来实现效果,还是学艺不 ...

  7. Linux服务器密钥安全登录

    使用密钥登录的好处:1.省事,不用每次去敲用户名和密码:2.安全,密钥长度一般是1024位,比我们设的密码要长得多: 以下是为新用户jackson添加密钥登录的步骤. 1.添加用户,并添加到sudoe ...

  8. Zookeeper C++编程实战之配置更新

    CZookeeperHelper:https://github.com/eyjian/libmooon/blob/master/include/mooon/net/zookeeper_helper.h ...

  9. 工作中的小tips(持续更新)

    1.在工作的时候一定要留下痕迹,这样即使乙方抵赖,或者说领导认为你没干活的时候留下证据(电话没有微信,邮件之类的文字类有效果) 2.每天晚上下班之前将一天的工作总结一下,把第二天的工作给罗列出来,以方 ...

  10. 笔记:认识 head 标签 待 更新中……

    文档的头部描述了文档的各种属性和信息,包括文档的标题等.绝大多数文档头部包含的数据都不会真正作为内容显示给读者. 下面这些标签可用在 head 部分: <head> <title&g ...