Angular 2 开发环境搭建指南

最近,在学习使用Visual Studio Code来开发Angular 2应用。这是第一次接触Visual Studio Code和Angular 2。Visual Studio Code是一个轻量级的代码编辑器,与旧版的Visual Studio相比,需要自己动手做更多的事情。本文将分享为了搭建开发环境所采取的一系列步骤。

基本安装

安装Node.jsNode.js开始,它将作为JavaScript的运行时环境。它还用于使用npm工具(node模块的包管理器)来管理JavaScript包。可以从安装Node.js。更多关于Node.js的信息,可以参考。可能会问:是否必须使用Node.js,或者是否有其他替代方案可以使用,以便运行TypeScript编译器将.ts文件编译成.js文件?这个问题在有答案。

安装TypeScriptAngular 2中,使用TypeScript语言编写代码。TypeScript代码需要被编译成JavaScript。为此,需要安装TypeScript编译器,它将TypeScript代码转换为JavaScript代码。可以使用以下npm命令在命令提示符中全局安装TypeScript:

npm install -g typescript

这里的-g意味着TypeScript需要全局安装,以便在机器上的任何项目中使用。

安装Visual Studio Code需要一个源代码编辑器来编写应用程序,将使用Visual Studio Code源代码编辑器。它非常适合编写JavaScript应用程序。可以从安装Visual Studio Code。更多详细信息,请访问。

创建演示应用

在系统上选择的位置创建一个名为FirstAngular2Demo的文件夹。打开Visual Studio Code编辑器,点击'文件'>'打开文件夹'按钮。浏览到'FirstAngular2Demo'文件夹。现在VS Code编辑器窗口看起来像这样。

到目前为止,还没有向文件夹中添加任何文件,所以让来做这件事。向这个文件夹中添加一个名为package.json的文件。将以下代码粘贴到package.json文件中:

{ "name": "first-angular2-demo", "version": "2.0.0", "description": "Creating first component in Angular 2", "main": "main.js", "keywords": [], "repository": { "type": "git", "url": "git://github.com/deeleman/learning-angular2.git" }, "scripts": { "start": "tsc && concurrently \"tsc -w\" \"lite-server\"", "lite": "lite-server", "tsc": "tsc", "tsc:w": "tsc -w" }, "dependencies": { "@angular/common": "~2.4.0", "@angular/compiler": "~2.4.0", "@angular/core": "~2.4.0", "@angular/forms": "~2.4.0", "@angular/http": "~2.4.0", "@angular/platform-browser": "~2.4.0", "@angular/platform-browser-dynamic": "~2.4.0", "@angular/router": "~3.4.0", "systemjs": "0.19.40", "core-js": "^2.4.1", "rxjs": "5.0.1", "zone.js": "^0.7.4", "bootstrap": "^3.3.7" } }

关于package.json文件的更多信息,请参考。在上述代码中,关键部分包括:

  • scripts:这是package.json脚本文件的一个属性。它包含在包的生命周期中的不同时间运行的脚本命令。更多描述请查看。
  • dependencies:在这一部分,指定了Angular应用程序所需的所有依赖项。

向'FirstAngular2Demo'文件夹中添加一个名为Systemjs.Config.js的文件。将以下代码粘贴到Systemjs.Config.js文件中:

(function (global) { System.config({ map: { app: 'app', '@angular/core': 'node_modules/@angular/core/bundles/core.umd.js', '@angular/common': 'node_modules/@angular/common/bundles/common.umd.js', '@angular/compiler': 'node_modules/@angular/compiler/bundles/compiler.umd.js', '@angular/platform-browser': 'node_modules/@angular/platform-browser/bundles/platform-browser.umd.js', '@angular/platform-browser-dynamic': 'node_modules/@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js', '@angular/http': 'node_modules/@angular/http/bundles/http.umd.js', '@angular/router': 'node_modules/@angular/router/bundles/router.umd.js', '@angular/forms': 'node_modules/@angular/forms/bundles/forms.umd.js', 'rxjs': 'node_modules/rxjs' }, packages: { app: { main: './main.js', defaultExtension: 'js' }, rxjs: { defaultExtension: 'js' } } }); })(this);

关于Systemjs.Config.js的更多信息,请查看。

向'FirstAngular2Demo'文件夹中添加一个新的文件tsconfig.json。

{ "compilerOptions": { "target": "es5", "module": "commonjs", "moduleResolution": "node", "sourceMap": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "lib": [ "es2015", "dom" ] } }

tsconfig.json:指定TypeScript编译器所需的设置,以将组件代码转译成当前浏览器可读的纯ECMAScript 5 JavaScript代码。

添加一个新的文件typings.json。在新创建的文件中添加以下代码:

{ "ambientDependencies": { "es6-shim": "github:DefinitelyTyped/DefinitelyTyped/es6-shim/es6-shim.d.ts#6697d6f7dadbf5773cb40ecda35a76027e0783b2" } }

typings.Json:它用于检查编译时错误并提供智能感知。

打开命令提示符,到达应用程序文件夹路径(对来说是E:\Angular2\FirstAnguar2Demo),运行以下命令:

npm install

通过运行此命令,将在package.json文件中指定的所有必需依赖项将被安装。打开'FirstAnguar2Demo'文件夹,将能够看到'node_modules'文件夹被创建。打开这个文件夹,将看到所有依赖项都已添加。

在VS code中点击刷新选项,现在node_modules文件夹也将在VS code中可见。

在根文件夹中添加一个名为app的新文件夹。向其中添加一个名为main.ts的文件。

import { Component, NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; @Component({ selector: 'hello-angular', template: '' }) export class DemoAngularComponent { greeting: string; constructor() { this.greeting = 'Welcome toAngular 2App !!'; } } // Main module, bootstrapping HelloAngularComponent as root component @NgModule({ imports: [BrowserModule], declarations: [DemoAngularComponent], bootstrap: [DemoAngularComponent], }) export class AppModule { } // Application bootstrap (specific for browser environments) const platform = platformBrowserDynamic(); platform.bootstrapModule(AppModule);

当运行此命令时,main.ts文件将由TypeScript编译器编译,并在同一位置创建main.js文件。

现在需要一个可以在浏览器中查看的.html文件,所以让在根文件夹级别(E:\Angular2\FirstAnguar2Demo)添加一个Index.html文件。将以下代码粘贴到Index.html文件中:

<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Learning Angular 2</title> <script src="node_modules/core-js/client/shim.min.js"></script> <script src="node_modules/zone.js/dist/zone.js"></script> <script src="node_modules/reflect-metadata/Reflect.js"></script> <script src="node_modules/systemjs/dist/system.src.js"></script> <script src="systemjs.config.js"></script> <script> System.import('app').catch(console.error.bind(null)); </script> <link rel="stylesheet" href="node_modules/bootstrap/dist/css/bootstrap.min.css"> </head> <body> <hello-angular></hello-angular> </body> </html>

运行演示应用

将使用lite-server快速运行应用程序。它提供静态内容,检测更改,刷新浏览器,并提供许多自定义选项。让安装并使用lite-server运行应用程序:

# To install globally: npm install -g lite-server # To run (you must be in the application folder as shown in below screenshots): lite-server
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485