2019-04-02 00:12:55 -06:00
# Setup for Upgrading from AngularJS
2017-02-22 18:09:39 +00:00
2019-06-07 13:37:23 +08:00
# 准备从 AngularJS 升级
2017-03-27 16:08:53 +01:00
2019-04-02 00:12:55 -06:00
<!--
Question: Can we remove this file and instead direct readers to https://github.com/angular/quickstart/blob/master/README.md
-->
2017-04-01 01:57:13 +02:00
2019-04-02 00:12:55 -06:00
< div class = "alert is-critical" >
2017-02-22 18:09:39 +00:00
2019-04-02 00:12:55 -06:00
**Audience:** Use this guide **only** in the context of [Upgrading from AngularJS ](guide/upgrade "Upgrading from AngularJS to Angular" ) or [Upgrading for Performance ](guide/upgrade-performance "Upgrading for Performance" ).
Those Upgrade guides refer to this Setup guide for information about using the [deprecated QuickStart GitHub repository ](https://github.com/angular/quickstart "Deprecated Angular QuickStart GitHub repository" ), which was created prior to the current Angular [CLI ](cli "CLI Overview" ).
2017-07-23 11:51:25 +08:00
2019-06-07 13:37:23 +08:00
**注意:**本指南**仅仅**适用于[从 AngularJS 升级 ](guide/upgrade "Upgrading from AngularJS to Angular" )和[注重性能的升级 ](guide/upgrade-performance "Upgrading for Performance" )。
本指南中提到的升级指南使用的是[已弃用的快速上手 Github 仓库 ](https://github.com/angular/quickstart "Deprecated Angular QuickStart GitHub repository" ),它是在 Angular [CLI ](cli "CLI Overview" ) 推出之前创建的。
2019-04-02 00:12:55 -06:00
**For all other scenarios,** see the current instructions in [Local Environment Setup ](guide/setup-local "Setting up for Local Development" ).
2017-04-01 01:57:13 +02:00
2019-06-07 13:37:23 +08:00
**对于所有其它场景**,请参见[建立本地开发环境 ](guide/setup-local "Setting up for Local Development" )中的步骤。
2017-07-23 11:51:25 +08:00
2019-04-02 00:12:55 -06:00
< / div >
2017-07-23 11:51:25 +08:00
2019-04-02 00:12:55 -06:00
<!--
The < live-example name = quickstart > QuickStart live-coding</ live-example > example is an Angular _playground_ .
There are also some differences from a local app, to simplify that live-coding experience.
In particular, the QuickStart live-coding example shows just the AppComponent file; it creates the equivalent of app.module.ts and main.ts internally for the playground only.
-->
2017-02-22 18:09:39 +00:00
2019-04-02 00:12:55 -06:00
This guide describes how to develop locally on your own machine.
Setting up a new project on your machine is quick and easy with the [QuickStart seed on github ](https://github.com/angular/quickstart "Install the github QuickStart repo" ).
2017-04-01 01:57:13 +02:00
2019-06-07 12:29:04 +08:00
本指南讲的是如何在你自己的机器上进行本地化开发。
利用 [github 上的**《快速上手》种子** ](https://github.com/angular/quickstart "安装 github 《快速上手》库" )在你的电脑上搭建一个新项目是很快很容易的。
2019-04-02 00:12:55 -06:00
**Prerequisite:** Make sure you have [Node.js® and npm installed ](guide/setup-local#prerequisites "Angular prerequisites" ).
2019-06-07 12:29:04 +08:00
**先决条件:**确保你已经安装好了 [Node.js® 和 npm ](guide/setup-local#prerequisites "Angular prerequisites" )。
2019-04-02 00:12:55 -06:00
{@a clone}
2017-05-26 21:28:06 +02:00
## Clone
2017-02-22 18:09:39 +00:00
2017-08-05 22:56:57 +08:00
## 克隆
2017-07-23 11:51:25 +08:00
2017-02-22 18:09:39 +00:00
Perform the _clone-to-launch_ steps with these terminal commands.
2017-07-23 11:51:25 +08:00
运行下列命令来执行*克隆并启动*步骤。
2017-02-22 18:09:39 +00:00
< code-example language = "sh" class = "code-shell" >
2017-04-01 01:57:13 +02:00
git clone https://github.com/angular/quickstart.git quickstart
cd quickstart
npm install
npm start
2017-02-22 18:09:39 +00:00
< / code-example >
2017-04-10 16:51:13 +01:00
< div class = "alert is-important" >
2017-02-22 18:09:39 +00:00
2017-06-20 14:53:17 -04:00
`npm start` fails in _Bash for Windows_ in versions earlier than the Creator's Update (April 2017).
2017-02-22 18:09:39 +00:00
2018-10-30 08:26:35 +08:00
在*Bash for Windows*中 `npm start` 可能会失败,因为到 2017-04 为止它还不支持访问网络上的服务器。
2017-07-23 11:51:25 +08:00
2017-04-10 16:51:13 +01:00
< / div >
2017-02-22 18:09:39 +00:00
{@a download}
2017-04-01 01:57:13 +02:00
2017-05-26 21:28:06 +02:00
## Download
2017-07-23 11:51:25 +08:00
2017-08-05 22:56:57 +08:00
## 下载
2018-03-01 22:19:59 +08:00
2017-03-31 12:23:16 +01:00
< a href = "https://github.com/angular/quickstart/archive/master.zip" title = "Download the QuickStart seed repository" > Download the QuickStart seed< / a >
2017-02-22 18:09:39 +00:00
and unzip it into your project folder. Then perform the remaining steps with these terminal commands.
2017-08-07 07:49:44 +08:00
< a href = "https://github.com/angular/quickstart/archive/master.zip" title = "下载《快速上手》种子库" > 下载《快速上手》种子< / a >
2017-07-23 11:51:25 +08:00
并解压到你的项目目录中。然后执行下面的命令完成剩余步骤。
2017-02-22 18:09:39 +00:00
< code-example language = "sh" class = "code-shell" >
2017-04-01 01:57:13 +02:00
cd quickstart
npm install
npm start
2017-02-22 18:09:39 +00:00
< / code-example >
2017-04-10 16:51:13 +01:00
< div class = "alert is-important" >
2017-02-22 18:09:39 +00:00
2017-06-20 14:53:17 -04:00
`npm start` fails in _Bash for Windows_ in versions earlier than the Creator's Update (April 2017).
2017-02-22 18:09:39 +00:00
2018-03-20 17:09:18 +08:00
在*Bash for Windows*中 `npm start` 可能会失败,因为到 2017-01 为止它还不支持访问网络上的服务器。
2017-07-23 11:51:25 +08:00
2017-04-10 16:51:13 +01:00
< / div >
2017-02-22 18:09:39 +00:00
{@a non-essential}
## Delete _non-essential_ files (optional)
2017-07-23 11:51:25 +08:00
## 删除*非必需*文件(可选)
2017-02-22 18:09:39 +00:00
You can quickly delete the _non-essential_ files that concern testing and QuickStart repository maintenance
(***including all git-related artifacts*** such as the `.git` folder and `.gitignore` !).
2017-07-23 11:51:25 +08:00
你可以快速删除一些涉及到测试和维护快速开始版本库的 *非必需* 文件
2018-03-20 17:09:18 +08:00
( ***包括所有 git 相关的文件***如 `.git` 文件夹和 `.gitignore` !)。
2017-07-23 11:51:25 +08:00
2017-04-10 16:51:13 +01:00
< div class = "alert is-important" >
2017-02-22 18:09:39 +00:00
Do this only in the beginning to avoid accidentally deleting your own tests and git setup!
2018-03-20 17:09:18 +08:00
请只在开始时执行此删除操作,以防你自己的测试和 git 文件被意外删除!
2017-07-23 11:51:25 +08:00
2017-04-10 16:51:13 +01:00
< / div >
2017-02-22 18:09:39 +00:00
Open a terminal window in the project folder and enter the following commands for your environment:
2017-07-23 11:51:25 +08:00
在项目目录下打开一个终端窗口,并根据你的操作系统执行以下命令:
2017-02-22 18:09:39 +00:00
### OS/X (bash)
2017-03-30 20:04:18 +01:00
2017-02-22 18:09:39 +00:00
< code-example language = "sh" class = "code-shell" >
2017-04-01 01:57:13 +02:00
xargs rm -rf < non-essential-files.osx.txt
rm src/app/*.spec*.ts
rm non-essential-files.osx.txt
2017-02-22 18:09:39 +00:00
< / code-example >
### Windows
2017-03-30 20:04:18 +01:00
2017-02-22 18:09:39 +00:00
< code-example language = "sh" class = "code-shell" >
2017-04-01 01:57:13 +02:00
for /f %i in (non-essential-files.txt) do del %i /F /S /Q
rd .git /s /q
rd e2e /s /q
2017-02-22 18:09:39 +00:00
< / code-example >
{@a seed}
## What's in the QuickStart seed?
2017-03-27 16:08:53 +01:00
2017-08-07 07:49:44 +08:00
## 《快速上手》种子库里都有什么?
2017-07-23 11:51:25 +08:00
2019-04-02 00:12:55 -06:00
The **QuickStart seed** provides a basic QuickStart playground application and other files necessary for local development.
Consequently, there are many files in the project folder on your machine,
2018-10-10 14:28:49 -07:00
most of which you can [learn about later ](guide/file-structure ).
2017-03-27 16:08:53 +01:00
2019-06-07 13:37:23 +08:00
**《快速上手》种子** 提供了一个基本的《快速上手》游乐场应用,以及进行本地开发的其它必要文件。
所以,你电脑里的项目目录中有*更多文件*,其中的大部分你都会[在稍后学到 ](guide/file-structure )。
2017-07-23 11:51:25 +08:00
2017-03-27 16:08:53 +01:00
{@a app-files}
2017-04-01 01:57:13 +02:00
2017-03-27 16:08:53 +01:00
Focus on the following three TypeScript (`.ts` ) files in the ** `/src` ** folder.
2017-07-23 11:51:25 +08:00
注意**`/src` **目录中以下三个 TypeScript (`.ts` ) 文件:
2017-04-11 21:44:52 +01:00
< div class = 'filetree' >
2017-03-27 16:08:53 +01:00
2017-04-11 21:44:52 +01:00
< div class = 'file' >
2018-03-03 21:06:01 +08:00
2017-03-27 16:08:53 +01:00
src
2018-03-03 21:06:01 +08:00
2017-04-11 21:44:52 +01:00
< / div >
< div class = 'children' >
< div class = 'file' >
2018-03-03 21:06:01 +08:00
2017-03-27 16:08:53 +01:00
app
2018-03-03 21:06:01 +08:00
2017-04-11 21:44:52 +01:00
< / div >
< div class = 'children' >
< div class = 'file' >
2018-03-03 21:06:01 +08:00
2017-03-27 16:08:53 +01:00
app.component.ts
2018-03-03 21:06:01 +08:00
2017-04-11 21:44:52 +01:00
< / div >
2017-03-27 16:08:53 +01:00
2017-04-11 21:44:52 +01:00
< div class = 'file' >
2018-03-03 21:06:01 +08:00
2017-03-27 16:08:53 +01:00
app.module.ts
2018-03-03 21:06:01 +08:00
2017-04-11 21:44:52 +01:00
< / div >
2017-03-27 16:08:53 +01:00
2017-04-11 21:44:52 +01:00
< / div >
2017-03-27 16:08:53 +01:00
2017-04-11 21:44:52 +01:00
< div class = 'file' >
2018-03-03 21:06:01 +08:00
2017-03-27 16:08:53 +01:00
main.ts
2018-03-03 21:06:01 +08:00
2017-04-11 21:44:52 +01:00
< / div >
2017-03-27 16:08:53 +01:00
2017-04-11 21:44:52 +01:00
< / div >
2017-03-27 16:08:53 +01:00
2017-04-11 21:44:52 +01:00
< / div >
2017-03-27 16:08:53 +01:00
< code-tabs >
2018-10-11 13:29:59 +02:00
< code-pane header = "src/app/app.component.ts" path = "setup/src/app/app.component.ts" >
2017-03-27 16:08:53 +01:00
< / code-pane >
2018-10-11 13:29:59 +02:00
< code-pane header = "src/app/app.module.ts" path = "setup/src/app/app.module.ts" >
2017-03-27 16:08:53 +01:00
< / code-pane >
2018-10-11 13:29:59 +02:00
< code-pane header = "src/main.ts" path = "setup/src/main.ts" >
2017-03-27 16:08:53 +01:00
< / code-pane >
< / code-tabs >
2017-06-09 17:48:53 -04:00
All guides and cookbooks have _at least these core files_ .
2017-02-22 18:09:39 +00:00
Each file has a distinct purpose and evolves independently as the application grows.
2017-07-23 11:51:25 +08:00
所有指南和烹饪书都至少有*这几个核心文件*。每个文件都有独特的用途,并且随着应用的成长各自独立演变。
2017-02-22 18:09:39 +00:00
Files outside `src/` concern building, deploying, and testing your app.
They include configuration files and external dependencies.
2018-03-20 17:09:18 +08:00
`src/` 目录之外的文件为构建、部署和测试 app 相关的文件,他们只包括配置文件和外部依赖。
2017-07-23 11:51:25 +08:00
2017-02-22 18:09:39 +00:00
Files inside `src/` "belong" to your app.
Add new Typescript, HTML and CSS files inside the `src/` directory, most of them inside `src/app` ,
unless told to do otherwise.
2018-03-20 17:09:18 +08:00
`src/` 目录下的文件才“属于”你的 app。
除非明确指出,否则教程中添加的 TypeScript, HTML 和 CSS 文件都在 `src/` 目录下,
大多数在 `src/app` 目录中。
2017-07-23 11:51:25 +08:00
2017-02-22 18:09:39 +00:00
The following are all in `src/`
2018-03-20 17:09:18 +08:00
`src/` 目录文件详情如下:
2017-07-23 11:51:25 +08:00
2017-02-22 18:09:39 +00:00
< style >
2018-03-03 21:06:01 +08:00
td, th {vertical-align: top}
< / style >
2017-03-30 20:04:18 +01:00
2017-02-22 18:09:39 +00:00
< table width = "100%" >
< col width = "20%" >
< / col >
< col width = "80%" >
< / col >
< tr >
< th >
2017-07-23 11:51:25 +08:00
2018-03-03 21:06:01 +08:00
File
文件
2017-07-23 11:51:25 +08:00
2017-02-22 18:09:39 +00:00
< / th >
< th >
2017-07-23 11:51:25 +08:00
2018-03-03 21:06:01 +08:00
Purpose
用途
2017-07-23 11:51:25 +08:00
2017-02-22 18:09:39 +00:00
< / th >
< / tr >
< tr >
< td >
2018-03-03 21:06:01 +08:00
2017-03-31 12:23:16 +01:00
< code > app/app.component.ts< / code >
2018-03-03 21:06:01 +08:00
2017-02-22 18:09:39 +00:00
< / td >
< td >
2017-04-01 01:57:13 +02:00
Defines the same `AppComponent` as the one in the QuickStart playground.
It is the **root** component of what will become a tree of nested components
2018-03-03 21:06:01 +08:00
as the application evolves.
2018-03-20 17:09:18 +08:00
定义与《快速上手》游乐场同样的 `AppComponent` 。
2017-07-23 11:51:25 +08:00
它是**根**组件,随着应用的演变,它将变成一颗嵌套组件树。
2018-03-03 21:06:01 +08:00
2017-02-22 18:09:39 +00:00
< / td >
< / tr >
2017-03-31 12:23:16 +01:00
< tr >
2017-03-30 20:04:18 +01:00
2017-02-22 18:09:39 +00:00
< td >
2018-03-03 21:06:01 +08:00
2017-02-22 18:09:39 +00:00
< code > app/app.module.ts< / code >
2018-03-03 21:06:01 +08:00
2017-02-22 18:09:39 +00:00
< / td >
< td >
2017-04-01 01:57:13 +02:00
2018-03-03 21:06:01 +08:00
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-07-23 11:51:25 +08:00
2018-03-20 17:09:18 +08:00
定义 `AppModule` , [根模块 ](guide/bootstrapping "AppModule: 根模块" )为 Angular 描述如何组装应用。
目前,它只声明了 `AppComponent` 。
2017-07-23 11:51:25 +08:00
不久,它将声明更多组件。
2018-03-03 21:06:01 +08:00
2017-02-22 18:09:39 +00:00
< / td >
< / tr >
< tr >
< td >
2018-03-03 21:06:01 +08:00
2017-03-31 12:23:16 +01:00
< code > main.ts< / code >
2018-03-03 21:06:01 +08:00
2017-02-22 18:09:39 +00:00
< / td >
< td >
2017-04-01 01:57:13 +02:00
2017-04-30 22:10:32 +02:00
Compiles the application with the [JIT compiler ](guide/glossary#jit ) and
2017-07-04 10:58:20 -04:00
[bootstraps ](guide/bootstrapping )
2017-04-01 01:57:13 +02:00
the application's main module (`AppModule` ) to run in the browser.
The JIT compiler is a reasonable choice during the development of most projects and
2017-11-03 18:08:28 +01:00
it's the only viable choice for a sample running in a _live-coding_ environment like Stackblitz.
2017-04-01 01:57:13 +02:00
You'll learn about alternative compiling and [deployment ](guide/deployment ) options later in the documentation.
2018-03-21 16:23:00 +08:00
使[即时 (JIT) 编译器 ](guide/glossary#jit )用编译应用并且在浏览器中[启动 ](guide/bootstrapping "启动应用" )并运行应用。
2018-03-07 16:15:21 +08:00
对于大多数项目的开发,这都是合理的选择。而且它是在像 Stackblitz 这样的*在线编程*环境中运行例子的唯一选择。
2017-07-23 11:51:25 +08:00
你将在本文档中学习其他编译和开发选择。
2017-02-22 18:09:39 +00:00
< / td >
< / tr >
< / table >
2018-07-19 15:00:08 -07:00
< div class = "alert is-helpful" >
2017-03-27 16:08:53 +01:00
2017-02-22 18:09:39 +00:00
### Next Step
2017-07-23 11:51:25 +08:00
### 下一步
2017-04-30 22:10:32 +02:00
If you're new to Angular, we recommend you follow the [tutorial ](tutorial "Tour of Heroes tutorial" ).
2017-03-27 16:08:53 +01:00
2017-07-30 12:32:56 +08:00
如果你是 Angular 初学者,建议跟着[教程 ](tutorial "《英雄指南》教程" )学习。
2017-07-23 11:51:25 +08:00
2017-04-10 16:51:13 +01:00
< / div >
2017-03-27 16:08:53 +01:00
2018-03-03 21:06:01 +08:00
< br > < / br > < br > < / br >
2017-04-01 01:57:13 +02:00
2018-03-03 21:06:01 +08:00
{@a install-prerequisites}
2017-04-01 01:57:13 +02:00
2018-05-15 13:32:40 +08:00
## Appendix: Node.js and npm
2017-04-01 01:57:13 +02:00
2017-07-23 11:51:25 +08:00
## 附录: node 与 npm
2018-05-15 13:32:40 +08:00
[Node.js ](https://nodejs.org/en/ ) and the [npm ](https://www.npmjs.com/ ) package manager are essential to modern web development with Angular and other platforms.
Node.js powers client development and build tools.
The _npm_ package manager, which is itself a _Node.js_ application, installs JavaScript libraries.
2017-03-27 16:08:53 +01:00
2018-05-15 13:32:40 +08:00
[Node.js ](https://nodejs.org/en/ ) 和 [npm ](https://www.npmjs.com/ ) 包管理器对使用 Angular 和其他平台进行现代网络开发是至关重要的。
Node.js 用来支持客户端开发和构建工具。*npm* 包管理器本身就是一个 *Node.js* 应用,用于安装 JavaScript 库。
2017-07-23 11:51:25 +08:00
2018-03-24 11:16:33 +08:00
< a href = "https://docs.npmjs.com/getting-started/installing-node" target = "_blank" title = "Installing Node.js and updating npm" > Get them now< / a > if they're not already installed on your machine.
2017-03-27 16:08:53 +01:00
2018-03-24 11:16:33 +08:00
如果你的电脑没有安装它们,请< a href = "https://docs.npmjs.com/getting-started/installing-node" target = "_blank" title = "安装 Node.js 和更新 npm" > 现在安装< / a > 。
2017-07-23 11:51:25 +08:00
2018-05-15 13:32:40 +08:00
**Verify that you are running Node.js `v8.x` or higher and npm `5.x` or higher**
2017-03-27 16:08:53 +01:00
by running the commands `node -v` and `npm -v` in a terminal/console window.
Older versions produce errors.
2018-05-15 13:32:40 +08:00
在终端/控制器窗口运行命令 `node -v` 和 `npm -v` ,来**确认你运行的 Node.js 是 `v8.x` 或更高, npm 为 `5.x` 或更高。**
2017-07-23 11:51:25 +08:00
老版本会产生错误。
2018-05-15 13:32:40 +08:00
We recommend [nvm ](https://github.com/creationix/nvm ) for managing multiple versions of Node.js and npm.
You may need [nvm ](https://github.com/creationix/nvm ) if you already have projects running on your machine that use other versions of Node.js and npm.
2017-03-31 12:23:16 +01:00
2018-05-15 13:32:40 +08:00
我们推荐使用 [nvm ](https://github.com/creationix/nvm ) 来管理多版本 Node.js 和 npm。
如果你的电脑上已经有使用其他版本 Node.js 和 npm 的项目,你可能需要 nvm。
2017-07-23 11:51:25 +08:00
2018-02-28 13:13:29 +08:00
2019-04-02 00:12:55 -06:00
## Appendix: Develop locally with IE
2018-01-27 13:45:03 +09:00
2019-06-07 12:29:04 +08:00
## 附录:用 IE 进行本地化开发
2018-03-15 16:15:18 +08:00
2019-04-02 00:12:55 -06:00
If you develop angular locally with `ng serve` , a `websocket` connection is set up automatically between browser and local dev server, so when your code changes, the browser can automatically refresh.
2018-01-27 13:45:03 +09:00
2019-06-07 12:29:04 +08:00
如果你使用 `ng serve` 进行本地化 Angular 开发,就会自动在浏览器和本地开发服务器之间建立一个 `websocket` 连接,这样,在代码发生变化时,浏览器就会自动刷新。
2018-03-15 16:15:18 +08:00
2019-04-02 00:12:55 -06:00
In Windows, by default, one application can only have 6 websocket connections, < a href = "https://msdn.microsoft.com/library/ee330736%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396 #websocket_maxconn " title = "MSDN WebSocket settings" > MSDN WebSocket Settings</ a > .
So when IE is refreshed (manually or automatically by `ng serve` ), sometimes the websocket does not close properly. When websocket connections exceed the limitations, a `SecurityError` will be thrown. This error will not affect the angular application, you can just restart IE to clear this error, or modify the windows registry to update the limitations.
2018-03-15 16:15:18 +08:00
2019-06-07 12:29:04 +08:00
在 Windows 上,默认情况下,每个应用最多只能有 6 个 websocket 连接,参见 < a href = "https://msdn.microsoft.com/library/ee330736%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396 #websocket_maxconn " title = "MSDN WebSocket settings" > MSDN 上的 WebSocket 设置</ a > 。
所以,当 IE 刷新时(手动刷新或由 `ng serve` 自动刷新) , websocket 可能无法正常关闭。当 websocket 连接数超过上限时,就会抛出一个 `SecurityError` 异常。这种错误不会影响 Angular 应用,你可以重启 IE 来清除此异常或在 Windows 注册表中加大这个上限。
2018-10-21 17:43:29 +08:00
2019-04-02 00:12:55 -06:00
## Appendix: Test using `fakeAsync()/async()`
2018-04-01 23:09:00 +09:00
2018-10-21 17:43:29 +08:00
## 附录:使用 `fakeAsync()/async()` 进行测试
2019-04-02 00:12:55 -06:00
If you use the `fakeAsync()/async()` helper function to run unit tests (for details, read the [Testing guide ](guide/testing#async-test-with-fakeasync )), you need to import `zone.js/dist/zone-testing` in your test setup file.
2018-04-01 23:09:00 +09:00
2018-10-21 17:43:29 +08:00
如果你使用 `fakeAsync()/async()` 辅助函数来运行单元测试(详情参见[测试指南 ](guide/testing#async-test-with-fakeasync )),就要在测试的准备文件中导入 `zone.js/dist/zone-testing` 。
2018-04-01 23:09:00 +09:00
< div class = "alert is-important" >
2018-10-21 17:43:29 +08:00
2018-04-01 23:09:00 +09:00
If you create project with `Angular/CLI` , it is already imported in `src/test.ts` .
2018-10-21 17:43:29 +08:00
如果你是用 `Angular/CLI` 创建的项目,那么它已经在 `src/test.ts` 中导入过了。
2018-04-01 23:09:00 +09:00
< / div >
And in the earlier versions of `Angular` , the following files were imported or added in your html file:
2018-10-21 17:43:29 +08:00
在以前版本的 `Angular` 中,下列文件曾被导入或添加到 html 文件中:
2018-04-01 23:09:00 +09:00
```
import 'zone.js/dist/long-stack-trace-zone';
import 'zone.js/dist/proxy';
import 'zone.js/dist/sync-test';
import 'zone.js/dist/jasmine-patch';
import 'zone.js/dist/async-test';
import 'zone.js/dist/fake-async-test';
```
2018-10-21 17:43:29 +08:00
You can still load those files separately, but the order is important, you must import `proxy` before `sync-test` , `async-test` , `fake-async-test` and `jasmine-patch` . And you also need to import `sync-test` before `jasmine-patch` , so it is recommended to just import `zone-testing` instead of loading those separated files.
2019-06-07 12:29:04 +08:00
你仍然可以分别导入这些文件,不过导入顺序很重要,你必须在 `sync-test` 、`async-test` 、`fake-async-test` 和 `jasmine-patch` 之前导入 `proxy` 。还要注意在 `jasmine-patch` 之前导入`sync-test` 。所以,建议你只导入 `zone-testing` 而不要分别加载那些文件。