好的工具往往使得开发应用更快更简单,而不是任何模块都手动开发。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. Linux下进行程序设计时,关于库的使用:

    一.gcc/g++命令中关于库的参数: -shared: 该选项指定生成动态连接库: -fPIC:表示编译为位置独立(地址无关)的代码,不用此选项的话,编译后的代码是位置相关的,所以动态载入时,是通过 ...

  2. ubunut下安装ibus_pinyin中文输入法

    ubuntu安装中文输入法,,此处一ibus-pinyin为例为其安装中文输入法,,, 1. 设置(setting)---语言支持(language support)---汉语(chinese),,, ...

  3. identify.class.php<======>token加密方法

    class Identify { static private $cert = "1111111"; static public function writeSecret($mob ...

  4. abaqus学习笔记-abaqus与umat调用基本原理

    参考: 1.http://ivt-abaqusdoc.ivt.ntnu.no:2080/v6.14/books/sub/default.htm 2.ABAQUS 用户材料子程序开发及应用-杨曼娟 3. ...

  5. location位置操作

    使用location对象可以通过很多方式来改变浏览器的位置. location.assign('http://www.klkx.com') 传入一个URL地址 这样可以立即打开一个新的URL并在浏览器 ...

  6. Linux四剑客find/grep/awk/sed

    find ./ -name "*txt" -maxdepth 1 -type f -mtime -2 -exec mv {} ./bbb.txt \; 这条命令表示找当前目录(-m ...

  7. 如何使用git管理代码

    如何使用Git管理代码 Git 是开发人员用来向代码库(msstash)中提交代码或者下载远端代码库中代码的工具. 如何使用git向代码库中提交我们修改后的代码呢? 1.如果是第一次使用git,那么需 ...

  8. vue+大文件分片上传

    最近公司在使用vue做工程项目,实现大文件分片上传. 网上找了一天,发现网上很多代码都存在很多问题,最后终于找到了一个符合要求的项目. 工程如下: 对项目的大文件上传功能做出分析,怎么实现大文件分片上 ...

  9. leaflet入门(三)使用GeoJSON创建矢量图形

    # 点对象: function g(feature, layer) { // does this feature have a property named popupContent? if (fea ...

  10. linux上搭建redis

    环境centos7及redis-4.0.2.tar.gz 第一步首先在/usr/local/mypackage下mkdir redis 通过工具上传redis安装包 解压安装包 tar -zxvf r ...