Angular2 Hello World 之 2.0

  最近angular2正式版发布了,现在就趁热接着记录一下2.0版的Hello World。据说由RC6升级到2.0代码改动不是很大,在写的时候也感觉改动不是很大,这次记录还是以asp.net core 空项目模板为基础,本着在此基础上添加最少的代码来实现Hello World,没用的代码全部清掉(用的时候再引入)。

  一、准备工作。

  首先,创建一个asp.net core空项目,并在Startup.cs类中添加“静态文件支持”;然后,在项目根目录下添加NPM配置文件、Gulp配置文件和typescript文件夹,并在该文件夹下TypeScript JSON配置文件。代码如下:

 1 {
 2   "version": "1.0.0",
 3   "name": "asp.net",
 4   "private": true,
 5   "dependencies": {
 6     "@angular/common": "2.0.0",
 7     "@angular/compiler": "2.0.0",
 8     "@angular/core": "2.0.0",
 9     "@angular/platform-browser": "2.0.0",
10     "@angular/platform-browser-dynamic": "2.0.0",
11
12     "core-js": "2.4.1",
13     "systemjs": "0.19.38",
14     "rxjs": "5.0.0-beta.12",
15     "zone.js": "0.6.25"
16   },
17   "devDependencies": {
18     "gulp": "3.9.1"
19   }
20 }

package.json

 1 {
 2   "compilerOptions": {
 3     "emitDecoratorMetadata": true,
 4     "experimentalDecorators": true,
 5     "module": "system",
 6     "moduleResolution": "node",
 7     "noImplicitAny": false,
 8     "noEmitOnError": false,
 9     "removeComments": false,
10     "target": "es5",
11     "outDir": "../wwwroot/app"
12   },
13   "exclude": [
14     "node_modules",
15     "wwwroot"
16   ]
17 }

tsconfig.json

 1 /*
 2 This file in the main entry point for defining Gulp tasks and using Gulp plugins.
 3 Click here to learn more. http://go.microsoft.com/fwlink/?LinkId=518007
 4 */
 5
 6 var gulp = require(‘gulp‘);
 7
 8 /// Define paths
 9 var srcPaths = {
10     js: [
11         ‘node_modules/core-js/client/shim.min.js‘,
12         ‘node_modules/zone.js/dist/zone.js‘,
13         ‘node_modules/systemjs/dist/system.src.js‘,
14     ],
15     js_angular: [
16         ‘node_modules/@angular/**‘
17     ],
18     js_rxjs: [
19         ‘node_modules/rxjs/**‘
20     ]
21 };
22
23 var destPaths = {
24     js: ‘wwwroot/js/‘,
25     js_angular: ‘wwwroot/js/@angular/‘,
26     js_rxjs: ‘wwwroot/js/rxjs/‘
27 };
28
29 // Copy all JS files from external libraries to wwwroot/js
30 gulp.task(‘js‘, function () {
31     gulp.src(srcPaths.js_angular)
32         .pipe(gulp.dest(destPaths.js_angular));
33     gulp.src(srcPaths.js_rxjs)
34         .pipe(gulp.dest(destPaths.js_rxjs));
35     return gulp.src(srcPaths.js)
36         .pipe(gulp.dest(destPaths.js));
37 });

gulpfile.js

  二、在typescript文件夹下创建以下三个文件app.component.ts、app.module.ts、boot.ts,代码如下:

1 import {Component} from "@angular/core";
2 @Component({
3     selector: ‘myApp‘,
4     template: `Hello World!`
5 })
6 export class AppComponent { }  

app.component.ts

1 import { NgModule }      from ‘@angular/core‘;
2 import { BrowserModule } from ‘@angular/platform-browser‘;
3 import { AppComponent }   from ‘./app.component‘;
4 @NgModule({
5     imports: [BrowserModule],
6     declarations: [AppComponent],
7     bootstrap: [AppComponent]
8 })
9 export class AppModule { }

app.module.ts

1 import { platformBrowserDynamic } from ‘@angular/platform-browser-dynamic‘;
2 import { AppModule } from ‘./app.module‘;
3 const platform = platformBrowserDynamic();
4 platform.bootstrapModule(AppModule);

boot.ts

  三、在静态文件目录wwwroot中,添加以下两个文件index.html和systemjs.config.js,代码如下:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title></title>
 5     <meta charset="UTF-8">
 6     <meta name="viewport" content="width=device-width, initial-scale=1">
 7
 8     <!-- 1. Load libraries -->
 9     <script src="js/shim.min.js"></script>
10     <script src="js/zone.js"></script>
11     <script src="js/system.src.js"></script>
12     <!-- 2. Configure SystemJS -->
13     <script src="systemjs.config.js"></script>
14     <script>
15       System.import(‘app‘).catch(function(err){ console.error(err); });
16     </script>
17 </head>
18 <body>
19     <myApp>Loading...</myApp>
20 </body>
21 </html>

index.html

 1 /**
 2  * System configuration for Angular samples
 3  * Adjust as necessary for your application needs.
 4  */
 5 (function (global) {
 6     System.config({
 7         paths: {
 8             // paths serve as alias
 9             ‘npm:‘: ‘js/‘
10         },
11         // map tells the System loader where to look for things
12         map: {
13             // our app is within the app folder
14             app: ‘app‘,
15             // angular bundles
16             ‘@angular/core‘: ‘npm:@angular/core/bundles/core.umd.js‘,
17             ‘@angular/common‘: ‘npm:@angular/common/bundles/common.umd.js‘,
18             ‘@angular/compiler‘: ‘npm:@angular/compiler/bundles/compiler.umd.js‘,
19             ‘@angular/platform-browser‘: ‘npm:@angular/platform-browser/bundles/platform-browser.umd.js‘,
20             ‘@angular/platform-browser-dynamic‘: ‘npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js‘,
21             // other libraries
22             ‘rxjs‘: ‘npm:rxjs‘,
23         },
24         // packages tells the System loader how to load when no filename and/or no extension
25         packages: {
26             app: {
27                 main: ‘./boot.js‘,
28                 defaultExtension: ‘js‘
29             },
30             rxjs: {
31                 defaultExtension: ‘js‘
32             }
33         }
34     });
35 })(this);

system.config.js

  四、将JS文件拷贝到wwwroot目录中,即执行Gulp任务;生成解决方案——将ts文件转换为js文件到目录/wwwroot/app下。

  至此,已修改完毕,看一下运行结果,如下图:

时间: 2024-10-25 23:51:43

Angular2 Hello World 之 2.0的相关文章

Visual Studio Code——Angular2 Hello World 之 2.0

最近看到一篇用Visual Studio Code开发Angular2的文章,也是一篇入门教程,地址为:使用Visual Studio Code開發Angular 2專案.这里按部就班的做了一遍,感觉很方便,并且没有遇到楼主的一些问题,应该是安装环境有些不同.这里只为记录一下.再次感谢! 一.随便新建一个目录,这里为:F:\Visual Studio Code\angular2_1,并用Visual Studio Code 二.依次新建如下四个文件,参考https://angular.cn/do

Angular2 Hello World 之 2.0.0-beta.14

公司现在采用angualrjs开发一些web应用,采用的是angular1,现在angular2已经差不多了,听说最近rc6已经出来了……其实感觉好慢啊!之前也做过一些anglar2的例子,但是没有记录下来,现在重新拾起来还费了半天劲儿!弄了半天总是报错,按着文件对比了半天也没有找打是哪里写错了……哎!最后发现是版本的问题,这次想把它记录下来,方便之后查看. 环境:Visual Studio 2015 Update 3+Asp.net core templates  一.创建一个 Asp.net

Angular2版本更新

2.0.0-beta.0 somnambulant-inauguration (2015-12-15) Enjoy! 2.0.0-alpha.55 (2015-12-15) Bug Fixes router: export ROUTER_LINK_DSL_PROVIDER and hide MockPopStateEvent (fc75220) Features core: enable dev mode by default (3dca9d5) BREAKING CHANGES Before

angular2 中文学习资料整理

先来3个成套的教程集合: ng book 2中文版 Angular2(Beta)入门  http://www.h    空格           ubwiz.com/course/567a414e660c92d638a68bf3/ Angular2开发指南 再来一些其他单独的文章: 理解Zone Angular 2 中的 ViewChildren 和 ContentChildren 在angular2服务中注入服务 Angular 2依赖注入 Angular 2模板语法 Angular 2的核心

鬃嘴释怀说太多就成真不了。

子阻撞砖奏尊仔籽着 释怀说太多就成真不了. http://passport.baidu.com/?business&un=vip&un=%E5%A4%A9%E6%B0%B4%E4%B8%8A%E9%97%A8%E8%BF%99%E5%B0%8F%E5%A7%90#0 http://passport.baidu.com/?business&un=vip&un=%E7%99%BD%E9%93%B6%E4%B8%8A%E9%97%A8%E8%BF%99%E5%B0%8F%E5%A

澜星粘鼐贩逊耐盼系甭妊倏纪傲傲sdfghjk

http://passport.baidu.com/?business&un=R&un=%E5%A4%A7%E5%AE%81%E6%A1%91%E6%8B%BF%E9%80%9A%E5%B0%8F%E5%A7%90#0 http://passport.baidu.com/?business&un=R&un=%E4%B9%A1%E5%AE%81%E6%A1%91%E6%8B%BF%E9%80%9A%E5%B0%8F%E5%A7%90#0 http://passport.bai

在Ubuntu14.04上OpenStack Juno安装部署

在Ubuntu14.04上OpenStack Juno安装部署 0 安装方式 0.1 安装方式 安装方式 说明 目标 备注 单结点 一台服务器运行所有的nova-xxx组件,同时也驱动虚拟实例. 这种配置只为尝试Nova,或者为了开发目的进行安装.   1控制节点+N个计算节点 一个控制结点运行除nova-compute外的所有nova-services,然后其他compute结点运行nova-compute.所有的计算节点需要和控制节点进行镜像交互,网络交互,控制节点是整个架构的瓶颈. 这种配

2008 SCI 影响因子(Impact Factor)

Excel download 期刊名缩写 影响因子 ISSN号 CA-CANCER J CLIN 74.575 0007-9235 NEW ENGL J MED 50.017 0028-4793 ANNU REV IMMUNOL 41.059 0732-0582 NAT REV MOL CELL BIO 35.423 1471-0072 PHYSIOL REV 35.000 0031-9333 REV MOD PHYS 33.985 0034-6861 JAMA-J AM MED ASSOC 3

Angular2 从0到1 (一)

史上最简单Angular2教程,大叔都学会了 作者:王芃 [email protected] 第二节:Angular2 从0到1 (二)第三节:Angular2 从0到1 (三) 第一节:认识Angular2 前言 Angular 2 是Google推出的一个跨平台全终端的框架,和目前比较火的React和Vue.js相比,有如下优点: 由于Google的目的是推出一个完整解决方案,所以官方默认提供的类库(比如routing,http,依赖性注入(DI)等)非常完整,无需自己选择.React的一大