背景
我正在将其中一个应用程序从 Angularjs 1.x 迁移到 Angular 2。作为 Angular 2 的新手,我首先尝试掌握用于配置的不同文件
在转到我的应用程序之前,我借助 gitub 上 Angular Quickstart 的快速启动文件创建了一个小型虚拟应用程序
https://guthub.com/angular/quickstart
我将这些文件移动到 .NET MVc 5.0 网络应用程序中。当我使用 npm CLI 构建应用程序时
npm start
它创建了一个 index.htm,并成功运行。我的下一步是使用 MVC View 而不是这个 index.htm,这一次,我为本地主机创建了一个默认路由/指向带有 View Index.cshtml 的 PublicController。
问题陈述
在使用 MVC View 时,通过 Controller 路由,我看到的是 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
最佳答案
终于找到了解决方案.. 问题出在文件名中的点上,这里也报告了问题https://github.com/systemjs/systemjs/issues/756
我在systemjs.config 文件中添加了以下设置
packages: {
'.': {
defaultExtension: 'js'
},
关于javascript - Angular 2 - TypeScript 文件未解析为 .js 扩展名 .NET MVC 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49470153/