Angular 2 - TypeScript文件无法解析为.js扩展名.NET MVC应用程序

时间:2018-03-24 21:30:35

标签: javascript asp.net-mvc angular

背景

我正在将其中一个应用程序从Angularjs 1.x迁移到Angular 2.作为Angular 2的新用户,我首先尝试掌握用于配置的不同文件

在跳转到我的应用程序之前,我在gitub上的Angular Quickstart的快速启动文件的帮助下创建了一个小型虚拟应用程序

https://guthub.com/angular/quickstart

我将这些文件移动到.NET MVc 5.0 Web应用程序中。当我使用npm CLI

构建应用程序时
npm start 

它创建了一个index.htm,并且成功运行了。我的下一步是使用MVC View而不是这个index.htm,这次,我创建了一个localhost /指向PublicController的默认路由,并带有一个视图Index.cshtml。

问题陈述

在使用通过控制器路由的MVC视图时,我看到的是编译后的main.ts文件省略了文件扩展名 - * .js。

import { AppComponent }  from './app.component';

在我的Main.ts中,编译后转换为(在main.ts中)

var app_component_1 = require("./app.component");

我的页面运行时出现控制台错误,我看到404错误因为无法解析app.component。

一切正常,如果我在main.js 文件中手动输入 .js。但那不是解决方案。

var app_component_1 = require("./app.component.js");

问题 我应该更改哪个设置以及应该将main.ts中的文件名解析为filename.js

的文件

1 个答案:

答案 0 :(得分:1)

最后,发现解决方案..问题在于文件名中的点,此处也报告了问题https://github.com/systemjs/systemjs/issues/756

我在 systemjs.config文件

中添加了以下设置
packages: {

          '.': {
              defaultExtension: 'js'
          },