Angular 5.0 学习2:Angular 5.0 开发环境的搭建和新建第一个ng5项目

1.安装Node.js

在开始工作之前,我们必须设置好开发环境。
如果你的机器上还没有Node.js®和npm,请先安装它们。
去Node.js的官网,https://nodejs.org/en/,点击下载按钮,下载最新版本,直接下一步下一步安装即可,软件会自动写入环境变量中,这样就能直接在cmd命令窗口中直接使用node或npm(包管理工具)命令。

请先在终端/控制台窗口中运行命令 node -v 和 npm -v, 来验证一下你正在运行 node 6.9.x 和 npm 3.x.x 以上的版本。 更老的版本可能会出现错误,更新的版本则没问题。

2.安装cnpm(非必需操作)

npm的全称是一个NodeJS包管理和分发工具,已经成为非官方的发布Node模块(包)的标准。
由于npm安装插件是从国外服务器下载,受网络影响很大,可能出现异常,继而淘宝团队生产一个完整的npmjs.org镜像,用cnpm代替npm,cnpm与nodejs的npm用法一致,只是在执行命令时,将npm改为cnpm。
在cmd命令窗口中输入,然后回车

npm install cnpm -g --registry=https://registry.npm.taobao.org

安装完毕时候输入cnpm -v, 出现版本号即表示安装成功。
如果你的网速够快的话,安装cnpm的的操作为非必需操作。笔者曾经使用cnpm下载一个ng5项目的依赖文件,在开发的时候没有影响,但在使用ng build --prod时出错,至今也不知道是什么问题。所以下面的操作都以npm为准。

3.安装 Angular CLI

在cmd输入下面的命令全局安装 Angular CLI 。

npm install -g @angular/cli

之后输入ng -v,出现版本号即安装成功,Angular CLI的版本号在1.5以上,则新建出来的项目是Angular 5.0版本。
ng即为angular的简称。

4.安装IDE

集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。
Angular IDE by Webclipse
intellij idea
Visual Studio Code
webstorm
请选择一种自己喜欢和熟悉的IDE,这会提升你的工作效率。笔者的IDE是 webstorm。

5.创建新项目

打开终端窗口。

运行下列命令来生成一个新项目以及应用的骨架代码:

ng new my-app

my-app是项目的名称,可以随意定义。

请耐心等待。 创建新项目需要花费很多时间,大多数时候都是在安装那些npm包,大概是200多M左右。

进入项目目录,并启动服务器。

cd my-app
ng serve --open

ng serve命令会启动开发服务器,监听文件变化,并在修改这些文件时重新构建此应用。
使用--open(或-o)参数可以自动打开浏览器并访问http://localhost:4200/。

本应用会用一条消息来跟你打招呼:
app-works.png

6.编辑我们的第一个Angular组件

这个CLI为我们创建了第一个Angular组件。 它就是名叫app-root的根组件。 你可以在./src/app/app.component.ts目录下找到它。

打开这个组件文件,并且把title属性从 Welcome to app!! 改为 Welcome to My First Angular App!! :

src/app/app.component.ts:

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

浏览器会自动刷新,而我们会看到修改之后的标题。不错,不过它还可以更好看一点。

打开 src/app/app.component.css 并给这个组件设置一些样式。

src/app/app.component.css:

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

my-first-app.png

编辑我们的第一个Angular组件成功!

7.项目文件概览

Angular CLI项目是做快速试验和开发企业解决方案的基础。

你首先要看的文件是README.md。 它提供了一些如何使用CLI命令的基础信息。

7.1 src文件夹

你的应用代码位于src文件夹中。 所有的Angular组件、模板、样式、图片以及你的应用所需的任何东西都在那里。 这个文件夹之外的文件都是为构建应用提供支持用的。
图片描述

app/app.component.{ts,html,css,spec.ts}
使用HTML模板、CSS样式和单元测试定义AppComponent组件。 它是根组件,随着应用的成长它会成为一棵组件树的根节点。

app/app.module.ts
定义AppModule,这个根模块会告诉Angular如何组装该应用。 目前,它只声明了AppComponent。 稍后它还会声明更多组件。

assets/*
这个文件夹下你可以放图片等任何东西,在构建应用时,它们全都会拷贝到发布包中。

environments/*
这个文件夹中包括为各个目标环境准备的文件,它们导出了一些应用中要用到的配置变量。 这些文件会在构建应用时被替换。 比如你可能在产品环境中使用不同的API端点地址,或使用不同的统计Token参数。 甚至使用一些模拟服务。 所有这些,CLI都替你考虑到了。

favicon.ico
每个网站都希望自己在书签栏中能好看一点。 请把它换成你自己的图标。

index.html
这是别人访问你的网站是看到的主页面的HTML文件。 大多数情况下你都不用编辑它。 在构建应用时,CLI会自动把所有js和css文件添加进去,所以你不必在这里手动添加任何 <script> 或 <link> 标签。

main.ts
这是应用的主要入口点。 使用JIT compiler编译器编译本应用,并启动应用的根模块AppModule,使其运行在浏览器中。 你还可以使用AOT compiler编译器,而不用修改任何代码 —— 只要给ng build 或 ng serve 传入 --aot 参数就可以了。

polyfills.ts
不同的浏览器对Web标准的支持程度也不同。 填充库(polyfill)能帮我们把这些不同点进行标准化。 你只要使用core-js 和 zone.js通常就够了,不过你也可以查看浏览器支持指南以了解更多信息。

styles.css
这里是你的全局样式。 大多数情况下,你会希望在组件中使用局部样式,以利于维护,不过那些会影响你整个应用的样式你还是需要集中存放在这里。

test.ts
这是单元测试的主要入口点。 它有一些你不熟悉的自定义配置,不过你并不需要编辑这里的任何东西。

tsconfig.{app|spec}.json
TypeScript编译器的配置文件。tsconfig.app.json是为Angular应用准备的,而tsconfig.spec.json是为单元测试准备的。

7.2 根目录

src/文件夹是项目的根文件夹之一。 其它文件是用来帮助你构建、测试、维护、文档化和发布应用的。它们放在根目录下,和src/平级。
图片描述

e2e/
在e2e/下是端到端(end-to-end)测试。 它们不在src/下,是因为端到端测试实际上和应用是相互独立的,它只适用于测试你的应用而已。 这也就是为什么它会拥有自己的tsconfig.json。

node_modules/
Node.js创建了这个文件夹,并且把package.json中列举的所有第三方模块都放在其中。

.angular-cli.json
Angular CLI的配置文件。 在这个文件中,我们可以设置一系列默认值,还可以配置项目编译时要包含的那些文件。 要了解更多,请参阅它的官方文档。

.editorconfig
给你的编辑器看的一个简单配置文件,它用来确保参与你项目的每个人都具有基本的编辑器配置。 大多数的编辑器都支持.editorconfig文件,详情参见 http://editorconfig.org 。

.gitignore
一个Git的配置文件,用来确保某些自动生成的文件不会被提交到源码控制系统中。

karma.conf.js
给Karma的单元测试配置,当运行ng test时会用到它。

package.json
npm配置文件,其中列出了项目使用到的第三方依赖包。 你还可以在这里添加自己的自定义脚本。

protractor.conf.js
给Protractor使用的端到端测试配置文件,当运行ng e2e的时候会用到它。

README.md
项目的基础文档,预先写入了CLI命令的信息。 别忘了用项目文档改进它,以便每个查看此仓库的人都能据此构建出你的应用。

tsconfig.json
TypeScript编译器的配置,你的IDE会借助它来给你提供更好的帮助。

tslint.json
给TSLint和Codelyzer用的配置信息,当运行ng lint时会用到。 Lint功能可以帮你保持代码风格的统一。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/391477.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode 154. 寻找旋转排序数组中的最小值 II(二分查找)

已知一个长度为 n 的数组&#xff0c;预先按照升序排列&#xff0c;经由 1 到 n 次 旋转 后&#xff0c;得到输入数组。例如&#xff0c;原数组 nums [0,1,4,4,5,6,7] 在变化后可能得到&#xff1a; 若旋转 4 次&#xff0c;则可以得到 [4,5,6,7,0,1,4] 若旋转 7 次&#xff0…

robot:根据条件主动判定用例失败或者通过

场景&#xff1a; 当用例中的断言部分需要满足特定条件时才会执行&#xff0c;如果不满足条件时&#xff0c;可以主动判定该用例为passed状态&#xff0c;忽略下面的断言语句。 如上图场景&#xff0c;当每月1号时&#xff0c;表中才会生成上月数据&#xff0c;生成后数据不会再…

golang go语言_在7小时内学习快速简单的Go编程语言(Golang)

golang go语言The Go programming language (also called Golang) was developed by Google to improve programming productivity. It has seen explosive growth in usage in recent years. In this free course from Micheal Van Sickle, you will learn how to use Go step…

使用MUI框架,模拟手机端的下拉刷新,上拉加载操作。

套用mui官方文档的一句话&#xff1a;“开发者只需关心业务逻辑&#xff0c;实现加载更多数据即可”。真的是不错的框架。 想更多的了解这个框架&#xff1a;http://dev.dcloud.net.cn/mui/ 那么如何实现下拉刷新&#xff0c;上拉加载的功能呢&#xff1f; 首先需要一个容器&am…

图深度学习-第1部分

有关深层学习的FAU讲义 (FAU LECTURE NOTES ON DEEP LEARNING) These are the lecture notes for FAU’s YouTube Lecture “Deep Learning”. This is a full transcript of the lecture video & matching slides. We hope, you enjoy this as much as the videos. Of cou…

Git上传项目到github

2019独角兽企业重金招聘Python工程师标准>>> Git入门 个人理解git就是一个上传工具&#xff0c;同时兼具和svn一样的版本控制功能&#xff08;此解释纯属本人个人观点&#xff09; Github是什么 github就是一个分布式版本管理系统&#xff08;反正我就是这么认为的…

ionic4 打包ios_学习Ionic 4并开始创建iOS / Android应用

ionic4 打包iosLearn how to use Ionic 4 in this full course for beginners from Awais Mirza. Ionic Framework is the free, open source mobile UI toolkit for developing high-quality cross-platform apps for native iOS, Android, and the web—all from a single Ja…

robot:当用例失败时执行关键字(发送短信)

使用场景&#xff1a; 当用例失败时需要通知对应人员&#xff0c;则需要在Teardown中&#xff0c;使用关键字Run Keyword If Test Failed Send Message关键字为自定义关键字&#xff0c;${content}为短信内容&#xff0c;${msg_receiver}为短信接收者列表。 当然执行成功时需要…

leetcode 263. 丑数

给你一个整数 n &#xff0c;请你判断 n 是否为 丑数 。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 丑数 就是只包含质因数 2、3 和/或 5 的正整数。 示例 1&#xff1a; 输入&#xff1a;n 6 输出&#xff1a;true 解释&#xff1a;6 2 3 …

NTP同步

RedHat Linux NTP实施步骤1、 查看本系统与NTP服务器的时间偏差 ntpdate -d 192.168.142.114 [rootzabbix-proxy ~]# ntpdate -d 192.168.142.114 24 Aug 17:26:45 ntpdate[3355]: ntpdate 4.2.6p51.2349-o Fri Apr 13 12:52:28 UTC 2018 (1) Looking for host 192.168.142.…

项目经济规模的估算方法_估算英国退欧的经济影响

项目经济规模的估算方法On June 23 2016, the United Kingdom narrowly voted in a country-wide referendum to leave the European Union (EU). Economists at the time warned of economic losses; the Bank of England produced estimates that that GDP could be as much …

Oracle宣布新的Java Champions

\看新闻很累&#xff1f;看技术新闻更累&#xff1f;试试下载InfoQ手机客户端&#xff0c;每天上下班路上听新闻&#xff0c;有趣还有料&#xff01;\\\Oracle宣布了2017年新接纳的Java Champion的综述。这次宣布了40位新的成员&#xff0c;包括InfoQ的贡献者Monica Beckwith。…

lambda ::_您无法从这里到达那里:Netlify Lambda和Firebase如何使我陷入无服务器的死胡同

lambda ::[Update: Apparently you can get there from here! That is, if you use firebase-admin instead of google-cloud/firestore. Ill have more on this in the future, but the gist of it is summarized here.][ 更新&#xff1a;显然您可以从这里到达那里&#xff…

leetcode 264. 丑数 II(堆)

给你一个整数 n &#xff0c;请你找出并返回第 n 个 丑数 。 丑数 就是只包含质因数 2、3 和/或 5 的正整数。 示例 1&#xff1a; 输入&#xff1a;n 10 输出&#xff1a;12 解释&#xff1a;[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。 解题思路 维…

奇迹网站可视化排行榜]_外观可视化奇迹

奇迹网站可视化排行榜]When reading a visualization is what we see really what we get?阅读可视化内容时&#xff0c;我们真正看到的是什么&#xff1f; This post summarizes and accompanies our paper “Surfacing Visualization Mirages” that was presented at CHI …

Oracle自动性能统计

Oracle自动性能统计 高效诊断性能问题&#xff0c;需要提供完整可用的统计信息&#xff0c;好比医生给病人看病的望闻问切&#xff0c;才能够正确的确诊&#xff0c;然后再开出相应的药方。Oracle数据库为系统、会话以及单独的sql语句生成多种类型的累积统计信息。本文主要描述…

numpy2

1、通用函数&#xff0c;是一种在ndarray数据中进行逐元素操作的函数。某些函数接受一个或多个标量数值&#xff0c;并产生一个或多个标量结果&#xff0c;通用函数就是对这些函数的封装。 1、常用的一元通用函数有&#xff1a;abs\fabs  sqrt   square  exp  log\log2…

Apache Prefork、Worker和Event三种MPM简单分析

(1) Prefork MPM &#xff08;优点&#xff09; &#xff1a;使用多个子进程&#xff0c;每个子进程只有一个线程来处理一个 http 连接&#xff0c;不用担心线程安全问题缺点&#xff1a;内存消耗大&#xff0c;不擅长处理高并发环境&#xff0c;使用keep-alive长连接时要等到超…

grasshopper_如何使用Google的Grasshopper编码应用程序来学习手机上的编码基础知识...

grasshopper什么是蚱hopper&#xff1f; (What is Grasshopper?) Grasshopper is an interactive education app for learning about coding. It began at Google as an experimental project created by a group called Area 120. Grasshopper是一个用于学习编码的交互式教育…

机器学习 量子_量子机器学习:神经网络学习

机器学习 量子My last articles tackled Bayes nets on quantum computers (read it here!), and k-means clustering, our first steps into the weird and wonderful world of quantum machine learning.我的最后一篇文章讨论了量子计算机上的贝叶斯网络( 在这里阅读&#xf…