2016-02-08 31 views
0

我看到一些使用Angular 2的ASP.Net MVC中的typescript導入非常奇怪的行爲。運行時報告它無法從根目錄找到ng2-highcharts軟件包 - 而不是node_modules。ASP.NET MVC Angular 2無法加載資源:服務器響應狀態爲404(未找到)

所有其他導入工作 - 相對於node_modules被識別。

代碼:

import {Component, View, OnInit} from 'angular2/core'; 
import {Ng2Highcharts} from "ng2-highcharts/ng2-highcharts"; 
import {CORE_DIRECTIVES, FORM_DIRECTIVES, NgClass} from 'angular2/common'; 
import EndPointService from '../services/EndPointService'; 

//import {CHART_DIRECTIVES} from 'ng2-charts'; 

@Component({ 
    selector: 'index', 
    providers: [EndPointService], 
    templateUrl: '/Admin.Portal/App/views/view-admin-users.html', 
    directives: [Ng2Highcharts] 
}) 
export class IndexComponent ... 

錯誤:XHR錯誤(404未找到)裝載http://localhost/Admin.Portal/ng2-highcharts/ng2-highcharts.js(...)

運行@ angular2-polyfills.js:138

tsConfig:

{ 
    "compilerOptions": { 
    "module": "system", 
    "sourceMap": true, 
    "noImplicitAny": true 
    } 
} 

.csproj打字稿設置

<TypeScriptTarget>ES5</TypeScriptTarget> 
    <TypeScriptJSXEmit>None</TypeScriptJSXEmit> 
    <TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled> 
    <TypeScriptNoImplicitAny>False</TypeScriptNoImplicitAny> 
    <TypeScriptModuleKind>CommonJS</TypeScriptModuleKind> 
    <TypeScriptRemoveComments>False</TypeScriptRemoveComments> 
    <TypeScriptOutFile /> 
    <TypeScriptOutDir /> 
    <TypeScriptGeneratesDeclarations>False</TypeScriptGeneratesDeclarations> 
    <TypeScriptNoEmitOnError>True</TypeScriptNoEmitOnError> 
    <TypeScriptSourceMap>True</TypeScriptSourceMap> 
    <TypeScriptMapRoot /> 
    <TypeScriptSourceRoot /> 
    <TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators> 

我試過導入相對路徑,但後來tsc失敗。誰能幫忙?

在此先感謝。

+0

你有一個'<基本href = 「/」>'在你的''元素或'引導相當於提供商()'? –

+0

嗨,謝謝你的回覆。我的確有這樣的想法。我不明白爲什麼只有HighChart導入不會給我一個來自node_modules的相對路徑。 – KnowHoper

+0

你的配置有問題,你應該把它添加到問題中。 –

回答

1

您應該爲此添加一個映射條目到您的SystemJS配置中。事情是這樣的:

<script> 
    System.config({ 
    map: { 
     'ng2-highcharts': 'node_modules/ng2-highcharts', 
    }, 
    packages: { 
     (...) 
    } 
    }); 
    (...) 
</script> 
相關問題