65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 Visual Studio 2015 的 TypeScript Angular2

starIconstarIconstarIconstarIconemptyStarIcon

4.00/5 (17投票s)

2016年1月21日

CPOL

4分钟阅读

viewsIcon

112513

使用 TypeScript 和 VS2015 的 Angular2 示例应用程序。

引言

最近 Angular 团队发布了 Angular 2 beta (2.0.0-beta.0) 版本。 与之前的 alpha 版本相比,这次发布他们再次进行了许多更改,但好消息是,现在他们有信心大多数开发人员可以使用 Angular 2 成功构建大型应用程序。

背景

我们可以找到更多文章、录音来研究 Angular2 和 TypeScript。 然而,由于我们需要将 Angular2 与 VS2015 一起使用,在这种情况下,事情会有些不同。 所以我们在这里将讨论如何在 Visual Studio 中设置 Angular 2.0,并编写一个非常基本的示例应用程序。

源代码

https://www.dropbox.com/s/2tg4rte0vmjnmnz/Angular2Demo.zip?dl=0

使用代码

对于实现,我们只需要遵循以下步骤。

 步骤 1 – 创建一个 VS (Visual Studio) ASP.NET Web 应用程序

打开 Visual Studio 2015 并按照以下说明创建一个空的 ASP.NET Web 应用程序。

文件 --> 新建 --> 项目 --> Web --> 选择 ASP.NET Web 应用程序模板。 --> 确定 --> 选择 ASP.NET 5 Preview 模板(空)

现在,解决方案资源管理器看起来像这样。

 

 

现在打开 project.json 文件并在 dependencies 里面添加下面的代码

"dependencies": {
    "Microsoft.AspNet.Server.IIS": "1.0.0-beta6",
    "Microsoft.AspNet.Server.WebListener": "1.0.0-beta6",
     "Microsoft.AspNet.StaticFiles": "1.0.0-beta6"
  },

 

现在打开 startup.cs 文件并替换

public void Configure(IApplicationBuilder app)
        {
            app.Run(async (context) =>
            {
                await context.Response.WriteAsync("Hello World!");
            });
        }  

用以下代码

public void Configure(IApplicationBuilder app)
        {
            app.UseDefaultFiles();
            app.UseStaticFiles();
        }        

 

现在右键 wwwroot 并添加新项目 à 客户端 à 选择 html 页面并创建 index.html 页面。

打开 index.html 页面并写下 'Hello',然后运行你的基本 .net 应用程序。

 

步骤 2 – 添加 NPM 配置文件

作为 .Net 开发人员,你可能会认为,为什么我们不使用 NuGet 包?

答案在这里,NuGet 对服务器端库来说很棒,但当我们需要客户端 css 和 js 库时,NPM 比 Nuget 更丰富。 NPM 将为我们提供客户端运行时资产,如 jQuery、Bootstrap 和 AngularJS。

打开应用程序添加新项目窗口,然后按照以下说明选择 NPM 配置文件,并保留默认名称“package.json”。

现在右键单击应用程序名称的客户端 --> 按名称“package.json”添加 NPM 配置文件。

 

现在打开 pakage.json 文件并用以下代码替换现有代码

{
  "name": "angular2-quickstart",
  "version": "1.0.0",
  "scripts": {
    "tsc": "tsc",
    "tsc:w": "tsc -w",
    "lite": "lite-server",
    "start": "concurrent \"npm run tsc:w\" \"npm run lite\" "
  },
   "license": "ISC",
  "dependencies": {
    "angular2": "2.0.0-beta.1",
    "systemjs": "0.19.6",
    "es6-promise": "^3.0.2",
    "es6-shim": "^0.33.3",
    "reflect-metadata": "0.1.2",
    "rxjs": "5.0.0-beta.0",
    "zone.js": "0.5.10"
  },
  "devDependencies": {
    "concurrently": "^1.0.0",
    "lite-server": "^1.3.2",
    "typescript": "^1.7.5" 
  }
}        

 

步骤 3 – 添加 TypeScript 配置文件

TypeScript 是 JavaScript 的一个类型化超集,它编译成纯 JavaScript,它提供类、模块和接口来帮助您构建强大的组件。 它也有泛型和 lambda 表达式。

使用 TypeScript 的主要原因之一是,它实际上来自 Microsoft,这意味着 Angular 2 在 TypeScript 和 .Net 方面具有更多优势。

但你仍然可以在 Angular2 中使用传统的 js,但我更喜欢使用 TypeScript 和 Angular2。

现在右键单击应用程序名称 à 客户端 --> 按名称“tsconfig.json”添加 TypeScript JSON 配置文件。

现在打开“tsconfig.json”文件并用以下代码替换现有代码。

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "outDir": "wwwroot/app/" 
    },
  "exclude": [
    "node_modules"
  ]
}         

注意: 你必须记住的一件重要的事情是,通过定义以下指令,我们指定了 js 文件路径。 在我们的例子中,这是必需的,因为只有在 wwwroot 文件夹中的文件才包含在发布的代码中。

 "outDir": "wwwroot/app/" // 此路径定义 js 文件路径

 

步骤 4 – 添加 TypeScript 文件

现在右键单击应用程序名称,并按名称“scripts”添加新文件夹。

然后右键单击 scripts 文件夹 à 客户端 --> 按名称“app.component.ts”添加 TypeScript 文件。

打开 app.component.ts 文件并粘贴以下代码

import {Component} from 'angular2/core';
@Component({
    selector: 'my-app',
    template: '<h1>Angular 2 Sample Application</h1>'
})
export class AppComponent { }

注意: 上面的“export”语句通知 TypeScript,这是一个包含公共类 AppComponent 的模块,并且应用程序中的其他模块可以访问此类。

 

现在右键单击 scripts 文件夹 à 客户端 --> 按名称“boot.ts”添加 TypeScript 文件。

打开 boot.ts 文件并添加以下代码

import {bootstrap}    from 'angular2/platform/browser'
import {AppComponent} from './app.component'
bootstrap(AppComponent);

注意: 上面的 "import" 声明告知 TypeScript,通过使用此代码,特定组件/模块可以从确定的路径导入。

 

步骤 5 – 包含参考文件

打开 index.html 文件并粘贴以下代码

<html>
<head>
    <title>Angular 2 Application</title>
    <!-- 1. Load libraries -->
    <script src="https://code.angularjs.org/2.0.0-beta.0/angular2-polyfills.js"></script>
    <script src="https://code.angularjs.org/tools/system.js"></script>
    <script src="https://code.angularjs.org/tools/typescript.js"></script>
    <script src="https://code.angularjs.org/2.0.0-beta.0/Rx.js"></script>
    <script src="https://code.angularjs.org/2.0.0-beta.0/angular2.dev.js"></script> 

  
<!-- 2. Configure SystemJS -->
    <script>
      System.config({
        transpiler: 'typescript',
        typescriptOptions: { emitDecoratorMetadata: true },
        packages: {'app': {defaultExtension: 'js'}}
      });
      System.import('app/boot')
            .then(null, console.error.bind(console));
    </script>

</head>
<!-- 3. Display the application -->
<body>
    <my-app>Loading...</my-app>
</body>
</html>

我们刚刚完成了第一个使用 TypeScript 和 VS2015 的 Angular2 示例应用程序 :)

结论

在本文中,我向你展示了 Visual Studio 和 TypeScript 将如何帮助你开发 Angular 2 应用程序。

在这里我只涵盖了基本和实用的概念,但如果你想阅读 Angular 2 理论,那么社区中有很多 Angular 2 理论资源可用。

© . All rights reserved.