背景
我正在将其中一个应用程序从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
的文件答案 0 :(得分:1)
最后,发现解决方案..问题在于文件名中的点,此处也报告了问题https://github.com/systemjs/systemjs/issues/756
我在 systemjs.config文件
中添加了以下设置packages: {
'.': {
defaultExtension: 'js'
},