2017-06-09 17:48:53 -04:00
|
|
|
|
# QuickStart
|
2017-03-31 19:57:13 -04:00
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
# 快速起步
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
Good tools make application development quicker and easier to maintain than
|
|
|
|
|
if you did everything by hand.
|
2017-03-30 16:01:15 -04:00
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
好的工具能让开发更加简单快捷。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
The [**Angular CLI**](https://cli.angular.io/) is a **_command line interface_** tool
|
|
|
|
|
that can create a project, add files, and perform a variety of ongoing development tasks such
|
|
|
|
|
as testing, bundling, and deployment.
|
2017-03-30 16:01:15 -04:00
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
[**Angular CLI**](https://cli.angular.io/)是一个**命令行界面**工具,它可以创建项目、添加文件以及执行一大堆开发任务,比如测试、打包和发布。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
The goal in this guide is to build and run a simple Angular
|
|
|
|
|
application in TypeScript, using the Angular CLI
|
|
|
|
|
while adhering to the [Style Guide](guide/styleguide) recommendations that
|
|
|
|
|
benefit _every_ Angular project.
|
|
|
|
|
|
2017-08-03 03:53:45 -04:00
|
|
|
|
在这一章CLI快速起步中,我们的目标是构建并运行一个超级简单的Angular应用。我们会使用Angular-CLI来让每个Angular应用从[风格指南](guide/styleguide)中获益。
|
2017-08-03 03:47:54 -04:00
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
By the end of the chapter, you'll have a basic understanding of development with the CLI
|
|
|
|
|
and a foundation for both these documentation samples and for real world applications.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
在本章的末尾,我们会通过CLI对开发过程有一个最基本的理解,并将其作为其它文档范例以及真实应用的基础。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
<!--
|
|
|
|
|
|
|
|
|
|
You'll pursue these ends in the following high-level steps:
|
|
|
|
|
|
|
|
|
|
1. [Set up](guide/cli-quickstart#devenv) the development environment.
|
|
|
|
|
2. [Create](guide/cli-quickstart#create-proj) a new project and skeleton application.
|
|
|
|
|
3. [Serve](guide/cli-quickstart#serve) the application.
|
|
|
|
|
4. [Edit](guide/cli-quickstart#first-component) the application.
|
|
|
|
|
|
|
|
|
|
-->
|
|
|
|
|
|
|
|
|
|
And you can also <a href="generated/zips/cli-quickstart/cli-quickstart.zip" target="_blank">download the example.</a>
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
你还可以 <a href="generated/zips/cli-quickstart/cli-quickstart.zip" target="_blank">下载这个例子</a> 。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id='devenv'>
|
|
|
|
|
Step 1. Set up the Development Environment
|
|
|
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
<h2 id='devenv'>
|
|
|
|
|
步骤1. 设置开发环境
|
|
|
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
You need to set up your development environment before you can do anything.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
在开始工作之前,我们必须设置好开发环境。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
Install **[Node.js® and npm](https://nodejs.org/en/download/)**
|
|
|
|
|
if they are not already on your machine.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
如果你的机器上还没有**[Node.js®和npm](https://nodejs.org/en/download/)**,请先安装它们。
|
|
|
|
|
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
<div class="l-sub-section">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**Verify that you are running at least node `6.9.x` and npm `3.x.x`**
|
|
|
|
|
by running `node -v` and `npm -v` in a terminal/console window.
|
|
|
|
|
Older versions produce errors, but newer versions are fine.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
请先在终端/控制台窗口中运行命令 `node -v` 和 `npm -v`,
|
|
|
|
|
**来验证一下你正在运行 node `6.9.x` 和 npm `3.x.x` 以上的版本。**
|
|
|
|
|
更老的版本可能会出现错误,更新的版本则没问题。
|
|
|
|
|
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Then **install the [Angular CLI](https://github.com/angular/angular-cli)** globally.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
然后全局安装 **[Angular CLI](https://github.com/angular/angular-cli)** 。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
|
|
|
|
|
<code-example language="sh" class="code-shell">
|
|
|
|
|
npm install -g @angular/cli
|
2017-03-30 16:01:15 -04:00
|
|
|
|
|
|
|
|
|
</code-example>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
<h2 id='create-proj'>
|
|
|
|
|
Step 2. Create a new project
|
|
|
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
<h2 id='create-proj'>
|
|
|
|
|
步骤2. 创建新项目
|
|
|
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
Open a terminal window.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
打开终端窗口。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
|
|
|
|
|
Generate a new project and skeleton application by running the following commands:
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
运行下列命令来生成一个新项目以及应用的骨架代码:
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
|
|
|
|
|
<code-example language="sh" class="code-shell">
|
|
|
|
|
ng new my-app
|
|
|
|
|
|
|
|
|
|
</code-example>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-10 11:51:13 -04:00
|
|
|
|
<div class="l-sub-section">
|
2017-03-30 16:01:15 -04:00
|
|
|
|
|
2017-03-31 19:57:13 -04:00
|
|
|
|
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
Patience please.
|
|
|
|
|
It takes time to set up a new project, most of it spent installing npm packages.
|
2017-03-30 16:01:15 -04:00
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
请耐心等待。
|
|
|
|
|
创建新项目需要花费很多时间,大多数时候都是在安装那些npm包。
|
|
|
|
|
|
2017-03-30 16:01:15 -04:00
|
|
|
|
|
2017-04-10 11:51:13 -04:00
|
|
|
|
</div>
|
2017-03-30 16:01:15 -04:00
|
|
|
|
|
2017-03-31 19:57:13 -04:00
|
|
|
|
|
|
|
|
|
|
2017-03-30 16:01:15 -04:00
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
<h2 id='serve'>
|
|
|
|
|
Step 3: Serve the application
|
|
|
|
|
</h2>
|
2017-03-30 16:01:15 -04:00
|
|
|
|
|
2017-08-03 21:09:01 -04:00
|
|
|
|
<h2 id='serve'>
|
|
|
|
|
步骤3. 启动开发服务器
|
|
|
|
|
</h2>
|
2017-06-09 17:48:53 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Go to the project directory and launch the server.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
进入项目目录,并启动服务器。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
|
|
|
|
|
<code-example language="sh" class="code-shell">
|
|
|
|
|
cd my-app
|
|
|
|
|
ng serve --open
|
2017-03-30 16:01:15 -04:00
|
|
|
|
|
|
|
|
|
</code-example>
|
|
|
|
|
|
2017-03-31 19:57:13 -04:00
|
|
|
|
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
The `ng serve` command launches the server, watches your files,
|
|
|
|
|
and rebuilds the app as you make changes to those files.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
`ng serve`命令会启动开发服务器,监听文件变化,并在修改这些文件时重新构建此应用。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
Using the `--open` (or just `-o`) option will automatically open your browser
|
|
|
|
|
on `http://localhost:4200/`.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
使用`--open`(或`-o`)参数可以自动打开浏览器并访问`http://localhost:4200/`。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
Your app greets you with a message:
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
本应用会用一条消息来跟你打招呼:
|
2017-06-09 17:48:53 -04:00
|
|
|
|
|
|
|
|
|
<figure>
|
|
|
|
|
<img src='generated/images/guide/cli-quickstart/app-works.png' alt="The app works!">
|
|
|
|
|
</figure>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2 id='first-component'>
|
|
|
|
|
Step 4: Edit your first Angular component
|
|
|
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
<h2 id='first-component'>
|
|
|
|
|
步骤4. 编辑我们的第一个Angular组件
|
|
|
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
The CLI created the first Angular component for you.
|
|
|
|
|
This is the _root component_ and it is named `app-root`.
|
|
|
|
|
You can find it in `./src/app/app.component.ts`.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
这个CLI为我们创建了第一个Angular组件。
|
|
|
|
|
它就是名叫`app-root`的*根组件*。
|
|
|
|
|
你可以在`./src/app/app.component.ts`目录下找到它。
|
2017-06-09 17:48:53 -04:00
|
|
|
|
|
2017-06-30 10:06:00 -04:00
|
|
|
|
Open the component file and change the `title` property from _Welcome to app!!_ to _Welcome to My First Angular App!!_:
|
2017-06-09 17:48:53 -04:00
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
打开这个组件文件,并且把`title`属性从 _Welcome to app!!_ 改为 _Welcome to My First Angular App!!_ :
|
2017-03-31 19:57:13 -04:00
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
<code-example path="cli-quickstart/src/app/app.component.ts" region="title" title="src/app/app.component.ts" linenums="false"></code-example>
|
2017-03-31 19:57:13 -04:00
|
|
|
|
|
2017-03-31 07:23:16 -04:00
|
|
|
|
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
The browser reloads automatically with the revised title. That's nice, but it could look better.
|
2017-03-31 07:23:16 -04:00
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
浏览器会自动刷新,而我们会看到修改之后的标题。不错,不过它还可以更好看一点。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
Open `src/app/app.component.css` and give the component some style.
|
2017-03-31 07:23:16 -04:00
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
打开 `src/app/app.component.css` 并给这个组件设置一些样式
|
2017-03-31 07:23:16 -04:00
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
<code-example path="cli-quickstart/src/app/app.component.css" title="src/app/app.component.css" linenums="false"></code-example>
|
2017-03-31 07:23:16 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
<figure>
|
|
|
|
|
<img src='generated/images/guide/cli-quickstart/my-first-app.png' alt="Output of QuickStart app">
|
|
|
|
|
</figure>
|
2017-03-31 19:57:13 -04:00
|
|
|
|
|
2017-03-31 07:23:16 -04:00
|
|
|
|
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
Looking good!
|
2017-03-31 07:23:16 -04:00
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
漂亮!
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## What's next?
|
2017-08-03 03:47:54 -04:00
|
|
|
|
|
|
|
|
|
## 接下来呢?
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
That's about all you'd expect to do in a "Hello, World" app.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
如你所愿,我们完成了这个“Hello, World”应用。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
You're ready to take the [Tour of Heroes Tutorial](tutorial) and build
|
|
|
|
|
a small application that demonstrates the great things you can build with Angular.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
现在,你可以开始[英雄指南](tutorial)教程,通过构建一个小型应用来学习如何用Angular构建各种大型应用了。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
Or you can stick around a bit longer to learn about the files in your brand new project.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
或者,你也可以稍等一会儿,学学在这个新项目中的文件都是干什么用的。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Project file review
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
## 项目文件概览
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
An Angular CLI project is the foundation for both quick experiments and enterprise solutions.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
Angular CLI项目是做快速试验和开发企业解决方案的基础。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
The first file you should check out is `README.md`.
|
|
|
|
|
It has some basic information on how to use CLI commands.
|
|
|
|
|
Whenever you want to know more about how Angular CLI works make sure to visit
|
|
|
|
|
[the Angular CLI repository](https://github.com/angular/angular-cli) and
|
|
|
|
|
[Wiki](https://github.com/angular/angular-cli/wiki).
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
你首先要看的文件是`README.md`。
|
|
|
|
|
它提供了一些如何使用CLI命令的基础信息。
|
|
|
|
|
如果你想了解 Angular CLI 的工作原理,请访问 [Angular CLI 的仓库](https://github.com/angular/angular-cli)及其
|
|
|
|
|
[Wiki](https://github.com/angular/angular-cli/wiki)。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
Some of the generated files might be unfamiliar to you.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
有些生成的文件你可能觉得陌生。接下来我们就讲讲它们。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### The `src` folder
|
2017-08-03 03:47:54 -04:00
|
|
|
|
|
|
|
|
|
### `src`文件夹
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
Your app lives in the `src` folder.
|
|
|
|
|
All Angular components, templates, styles, images, and anything else your app needs go here.
|
|
|
|
|
Any files outside of this folder are meant to support building your app.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
你的应用代码位于`src`文件夹中。
|
|
|
|
|
所有的Angular组件、模板、样式、图片以及你的应用所需的任何东西都在那里。
|
|
|
|
|
这个文件夹之外的文件都是为构建应用提供支持用的。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
|
|
|
|
|
<div class='filetree'>
|
|
|
|
|
<div class='file'>src</div>
|
|
|
|
|
<div class='children'>
|
|
|
|
|
<div class='file'>app</div>
|
|
|
|
|
<div class='children'>
|
|
|
|
|
<div class='file'>app.component.css</div>
|
|
|
|
|
<div class='file'>app.component.html</div>
|
|
|
|
|
<div class="file">app.component.spec.ts</div>
|
|
|
|
|
<div class="file">app.component.ts</div>
|
|
|
|
|
<div class="file">app.module.ts</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="file">assets</div>
|
|
|
|
|
<div class='children'>
|
|
|
|
|
<div class="file">.gitkeep</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="file">environments</div>
|
|
|
|
|
<div class='children'>
|
|
|
|
|
<div class="file">environment.prod.ts</div>
|
|
|
|
|
<div class="file">environment.ts</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="file">favicon.ico</div>
|
|
|
|
|
<div class="file">index.html</div>
|
|
|
|
|
<div class="file">main.ts</div>
|
|
|
|
|
<div class="file">polyfills.ts</div>
|
|
|
|
|
<div class="file">styles.css</div>
|
|
|
|
|
<div class="file">test.ts</div>
|
|
|
|
|
<div class="file">tsconfig.app.json</div>
|
|
|
|
|
<div class="file">tsconfig.spec.json</div>
|
|
|
|
|
</div>
|
2017-04-10 11:51:13 -04:00
|
|
|
|
</div>
|
2017-03-31 07:23:16 -04:00
|
|
|
|
|
2017-03-30 16:01:15 -04:00
|
|
|
|
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
<style>
|
|
|
|
|
td, th {vertical-align: top}
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
|
2017-03-30 16:01:15 -04:00
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
<table width="100%">
|
|
|
|
|
<col width="20%">
|
|
|
|
|
</col>
|
|
|
|
|
<col width="80%">
|
|
|
|
|
</col>
|
|
|
|
|
<tr>
|
|
|
|
|
<th>
|
|
|
|
|
File
|
2017-08-03 03:47:54 -04:00
|
|
|
|
|
|
|
|
|
文件
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</th>
|
|
|
|
|
<th>
|
|
|
|
|
Purpose
|
2017-08-03 03:47:54 -04:00
|
|
|
|
|
|
|
|
|
用途
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</th>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
2017-03-31 19:57:13 -04:00
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
`app/app.component.{ts,html,css,spec.ts}`
|
2017-03-31 19:57:13 -04:00
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
<td>
|
2017-03-30 16:01:15 -04:00
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
Defines the `AppComponent` along with an HTML template, CSS stylesheet, and a unit test.
|
|
|
|
|
It is the **root** component of what will become a tree of nested components
|
|
|
|
|
as the application evolves.
|
2017-03-30 16:01:15 -04:00
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
使用HTML模板、CSS样式和单元测试定义`AppComponent`组件。
|
|
|
|
|
它是**根**组件,随着应用的成长它会成为一棵组件树的根节点。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`app/app.module.ts`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
Defines `AppModule`, the [root module](guide/bootstrapping "AppModule: the root module") that tells Angular how to assemble the application.
|
|
|
|
|
Right now it declares only the `AppComponent`.
|
|
|
|
|
Soon there will be more components to declare.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
定义`AppModule`,这个[根模块](guide/bootstrapping "AppModule: 根模块")会告诉Angular如何组装该应用。
|
|
|
|
|
目前,它只声明了`AppComponent`。
|
|
|
|
|
稍后它还会声明更多组件。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`assets/*`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
A folder where you can put images and anything else to be copied wholesale
|
|
|
|
|
when you build your application.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
这个文件夹下你可以放图片等任何东西,在构建应用时,它们全都会拷贝到发布包中。
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`environments/*`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
This folder contains one file for each of your destination environments,
|
|
|
|
|
each exporting simple configuration variables to use in your application.
|
|
|
|
|
The files are replaced on-the-fly when you build your app.
|
|
|
|
|
You might use a different API endpoint for development than you do for production
|
|
|
|
|
or maybe different analytics tokens.
|
|
|
|
|
You might even use some mock services.
|
|
|
|
|
Either way, the CLI has you covered.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
这个文件夹中包括为各个目标环境准备的文件,它们导出了一些应用中要用到的配置变量。
|
|
|
|
|
这些文件会在构建应用时被替换。
|
|
|
|
|
比如你可能在产品环境中使用不同的API端点地址,或使用不同的统计Token参数。
|
|
|
|
|
甚至使用一些模拟服务。
|
|
|
|
|
所有这些,CLI都替你考虑到了。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`favicon.ico`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
Every site wants to look good on the bookmark bar.
|
|
|
|
|
Get started with your very own Angular icon.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
每个网站都希望自己在书签栏中能好看一点。
|
|
|
|
|
请把它换成你自己的图标。
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`index.html`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
The main HTML page that is served when someone visits your site.
|
|
|
|
|
Most of the time you'll never need to edit it.
|
|
|
|
|
The CLI automatically adds all `js` and `css` files when building your app so you
|
2017-06-30 06:27:06 -04:00
|
|
|
|
never need to add any `<script>` or `<link>` tags here manually.
|
2017-06-09 17:48:53 -04:00
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
这是别人访问你的网站是看到的主页面的HTML文件。
|
|
|
|
|
大多数情况下你都不用编辑它。
|
|
|
|
|
在构建应用时,CLI会自动把所有`js`和`css`文件添加进去,所以你不必在这里手动添加任何 `<script>` 或 `<link>` 标签。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`main.ts`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
The main entry point for your app.
|
|
|
|
|
Compiles the application with the [JIT compiler](guide/glossary#jit)
|
|
|
|
|
and bootstraps the application's root module (`AppModule`) to run in the browser.
|
|
|
|
|
You can also use the [AOT compiler](guide/glossary#ahead-of-time-aot-compilation)
|
|
|
|
|
without changing any code by passing in `--aot` to `ng build` or `ng serve`.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
这是应用的主要入口点。
|
2017-08-03 03:53:45 -04:00
|
|
|
|
使用[JIT compiler](guide/glossary#jit)编译器编译本应用,并启动应用的根模块`AppModule`,使其运行在浏览器中。
|
2017-08-03 03:47:54 -04:00
|
|
|
|
你还可以使用[AOT compiler](guide/glossary#ahead-of-time-aot-compilation)编译器,而不用修改任何代码 —— 只要给`ng build` 或 `ng serve` 传入 `--aot` 参数就可以了。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`polyfills.ts`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
Different browsers have different levels of support of the web standards.
|
|
|
|
|
Polyfills help normalize those differences.
|
|
|
|
|
You should be pretty safe with `core-js` and `zone.js`, but be sure to check out
|
|
|
|
|
the [Browser Support guide](guide/browser-support) for more information.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
不同的浏览器对Web标准的支持程度也不同。
|
|
|
|
|
填充库(polyfill)能帮我们把这些不同点进行标准化。
|
|
|
|
|
你只要使用`core-js` 和 `zone.js`通常就够了,不过你也可以查看[浏览器支持指南](guide/browser-support)以了解更多信息。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`styles.css`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
Your global styles go here.
|
|
|
|
|
Most of the time you'll want to have local styles in your components for easier maintenance,
|
|
|
|
|
but styles that affect all of your app need to be in a central place.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
这里是你的全局样式。
|
|
|
|
|
大多数情况下,你会希望在组件中使用局部样式,以利于维护,不过那些会影响你整个应用的样式你还是需要集中存放在这里。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`test.ts`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
This is the main entry point for your unit tests.
|
|
|
|
|
It has some custom configuration that might be unfamiliar, but it's not something you'll
|
|
|
|
|
need to edit.
|
2017-08-03 03:47:54 -04:00
|
|
|
|
|
|
|
|
|
这是单元测试的主要入口点。
|
|
|
|
|
它有一些你不熟悉的自定义配置,不过你并不需要编辑这里的任何东西。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`tsconfig.{app|spec}.json`
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
TypeScript compiler configuration for the Angular app (`tsconfig.app.json`)
|
|
|
|
|
and for the unit tests (`tsconfig.spec.json`).
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
TypeScript编译器的配置文件。`tsconfig.app.json`是为Angular应用准备的,而`tsconfig.spec.json`是为单元测试准备的。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
|
|
|
|
|
### The root folder
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
### 根目录
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
The `src/` folder is just one of the items inside the project's root folder.
|
|
|
|
|
Other files help you build, test, maintain, document, and deploy the app.
|
|
|
|
|
These files go in the root folder next to `src/`.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
`src/`文件夹是项目的根文件夹之一。
|
|
|
|
|
其它文件是用来帮助你构建、测试、维护、文档化和发布应用的。它们放在根目录下,和`src/`平级。
|
|
|
|
|
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
|
|
|
|
|
<div class='filetree'>
|
|
|
|
|
<div class="file">my-app</div>
|
|
|
|
|
<div class='children'>
|
|
|
|
|
<div class="file">e2e</div>
|
|
|
|
|
<div class='children'>
|
|
|
|
|
<div class="file">app.e2e-spec.ts</div>
|
|
|
|
|
<div class="file">app.po.ts</div>
|
|
|
|
|
<div class="file">tsconfig.e2e.json</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="file">node_modules/...</div>
|
|
|
|
|
<div class="file">src/...</div>
|
|
|
|
|
<div class="file">.angular-cli.json</div>
|
|
|
|
|
<div class="file">.editorconfig</div>
|
|
|
|
|
<div class="file">.gitignore</div>
|
|
|
|
|
<div class="file">karma.conf.js</div>
|
|
|
|
|
<div class="file">package.json</div>
|
|
|
|
|
<div class="file">protractor.conf.js</div>
|
|
|
|
|
<div class="file">README.md</div>
|
|
|
|
|
<div class="file">tsconfig.json</div>
|
|
|
|
|
<div class="file">tslint.json</div>
|
|
|
|
|
</div>
|
2017-04-10 11:51:13 -04:00
|
|
|
|
</div>
|
2017-03-30 16:01:15 -04:00
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
<style>
|
|
|
|
|
td, th {vertical-align: top}
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<table width="100%">
|
|
|
|
|
<col width="20%">
|
|
|
|
|
</col>
|
|
|
|
|
<col width="80%">
|
|
|
|
|
</col>
|
|
|
|
|
<tr>
|
|
|
|
|
<th>
|
|
|
|
|
File
|
2017-08-03 03:47:54 -04:00
|
|
|
|
|
|
|
|
|
文件
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</th>
|
|
|
|
|
<th>
|
|
|
|
|
Purpose
|
2017-08-03 03:47:54 -04:00
|
|
|
|
|
|
|
|
|
用途
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</th>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`e2e/`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
2017-07-11 16:00:53 -04:00
|
|
|
|
Inside `e2e/` live the end-to-end tests.
|
2017-06-09 17:48:53 -04:00
|
|
|
|
They shouldn't be inside `src/` because e2e tests are really a separate app that
|
|
|
|
|
just so happens to test your main app.
|
|
|
|
|
That's also why they have their own `tsconfig.e2e.json`.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
在`e2e/`下是端到端(end-to-end)测试。
|
|
|
|
|
它们不在`src/`下,是因为端到端测试实际上和应用是相互独立的,它只适用于测试你的应用而已。
|
|
|
|
|
这也就是为什么它会拥有自己的`tsconfig.json`。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`node_modules/`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`Node.js` creates this folder and puts all third party modules listed in
|
|
|
|
|
`package.json` inside of it.
|
2017-08-03 03:47:54 -04:00
|
|
|
|
|
|
|
|
|
`Node.js`创建了这个文件夹,并且把`package.json`中列举的所有第三方模块都放在其中。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`.angular-cli.json`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
Configuration for Angular CLI.
|
|
|
|
|
In this file you can set several defaults and also configure what files are included
|
2017-07-11 16:00:53 -04:00
|
|
|
|
when your project is built.
|
2017-06-09 17:48:53 -04:00
|
|
|
|
Check out the official documentation if you want to know more.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
Angular CLI的配置文件。
|
|
|
|
|
在这个文件中,我们可以设置一系列默认值,还可以配置项目编译时要包含的那些文件。
|
|
|
|
|
要了解更多,请参阅它的官方文档。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`.editorconfig`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
Simple configuration for your editor to make sure everyone that uses your project
|
|
|
|
|
has the same basic configuration.
|
|
|
|
|
Most editors support an `.editorconfig` file.
|
|
|
|
|
See http://editorconfig.org for more information.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
给你的编辑器看的一个简单配置文件,它用来确保参与你项目的每个人都具有基本的编辑器配置。
|
|
|
|
|
大多数的编辑器都支持`.editorconfig`文件,详情参见 http://editorconfig.org 。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`.gitignore`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
Git configuration to make sure autogenerated files are not commited to source control.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
一个Git的配置文件,用来确保某些自动生成的文件不会被提交到源码控制系统中。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`karma.conf.js`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
Unit test configuration for the [Karma test runner](https://karma-runner.github.io),
|
|
|
|
|
used when running `ng test`.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
给[Karma](https://karma-runner.github.io)的单元测试配置,当运行`ng test`时会用到它。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`package.json`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`npm` configuration listing the third party packages your project uses.
|
|
|
|
|
You can also add your own [custom scripts](https://docs.npmjs.com/misc/scripts) here.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
`npm`配置文件,其中列出了项目使用到的第三方依赖包。
|
|
|
|
|
你还可以在这里添加自己的[自定义脚本](https://docs.npmjs.com/misc/scripts)。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`protractor.conf.js`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
End-to-end test configuration for [Protractor](http://www.protractortest.org/),
|
|
|
|
|
used when running `ng e2e`.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
给[Protractor](http://www.protractortest.org/)使用的端到端测试配置文件,当运行`ng e2e`的时候会用到它。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`README.md`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
Basic documentation for your project, pre-filled with CLI command information.
|
|
|
|
|
Make sure to enhance it with project documentation so that anyone
|
|
|
|
|
checking out the repo can build your app!
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
项目的基础文档,预先写入了CLI命令的信息。
|
|
|
|
|
别忘了用项目文档改进它,以便每个查看此仓库的人都能据此构建出你的应用。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`tsconfig.json`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
TypeScript compiler configuration for your IDE to pick up and give you helpful tooling.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
TypeScript编译器的配置,你的IDE会借助它来给你提供更好的帮助。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
`tslint.json`
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
|
|
|
|
|
Linting configuration for [TSLint](https://palantir.github.io/tslint/) together with
|
|
|
|
|
[Codelyzer](http://codelyzer.com/), used when running `ng lint`.
|
|
|
|
|
Linting helps keep your code style consistent.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
给[TSLint](https://palantir.github.io/tslint/)和[Codelyzer](http://codelyzer.com/)用的配置信息,当运行`ng lint`时会用到。
|
|
|
|
|
Lint功能可以帮你保持代码风格的统一。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
|
|
|
|
|
<div class="l-sub-section">
|
|
|
|
|
|
|
|
|
|
### Next Step
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
### 下一步
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
If you're new to Angular, continue with the
|
|
|
|
|
[tutorial](tutorial "Tour of Heroes tutorial").
|
|
|
|
|
You can skip the "Setup" step since you're already using the Angular CLI setup.
|
|
|
|
|
|
2017-08-03 03:47:54 -04:00
|
|
|
|
如果你刚刚开始使用Angular,我们建议你遵循这个[教程](tutorial "《英雄指南》教程")。
|
|
|
|
|
你可以跳过“环境设置”一章,因为你已经在使用 Angular-CLI 设置好环境了。
|
|
|
|
|
|
2017-06-09 17:48:53 -04:00
|
|
|
|
</div>
|