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

标签 javascript asp.net-mvc angular

背景

我正在将其中一个应用程序从 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/

相关文章:

angular - map 不是函数 (Rxjs) 虽然导入

angular-cli:配置 sass-loader 以在 includePath 中包含 node_modules

javascript - 取消选中并选中开关盒中的复选框

javascript - 当三个下拉列表的总和大于 300 时显示 div

c# - 获取电话号码设置

angular - 当从 Angular 8 中的同一组件打开新模态时如何关闭现有的 ngx-modal

javascript - 验证复制|克隆的输入字段是否具有相同的信息

php - HTML 表格中的每一行都可以编号吗?

c# - asp.net mvc中写查询的正确位置

c# - ASP.NET MVC4 多语言数据注解