【问题标题】:Angular 2 - TypeScript File not resolving to .js extension .NET MVC ApplicationAngular 2 - TypeScript 文件无法解析为 .js 扩展名 .NET MVC 应用程序
【发布时间】:2018-03-31 08:37:48
【问题描述】:

背景

我正在将其中一个应用程序从 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 视图而不是这个 index.htm,这一次,我为 localhost/ 创建了一个默认路由,指向带有视图 Index.cshtml 的 PublicController。

问题陈述

在使用通过控制器路由的 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 的文件

【问题讨论】:

标签: javascript asp.net-mvc angular


【解决方案1】:

终于找到了解决办法..问题是文件名中的点,这里也报告了问题https://github.com/systemjs/systemjs/issues/756

我在 systemjs.config 文件

中添加了以下设置
packages: {

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

【讨论】:

    猜你喜欢
    • 2021-11-24
    • 2017-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    • 2016-04-24
    相关资源
    最近更新 更多