2017-09-01 107 views
2

我的問題聽起來很像Cannot find the '@angular/common/http' moduleError loading @angular/common/http - angular 2但問題有點不同: 我正在使用Angular 4.3.5,我試圖從Web API讀取數據。 (這個API放出JSON數據並使用SignalR和.net Core)。 我已經跟着幾個教程,並用此代碼爲類,將實際聯繫服務上來:asp.net Core Angular4 angular/common/http找不到

import 'rxjs/add/operator/map'; 

import { HttpClient, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'; 
import { Injectable } from '@angular/core'; 
import { Observable } from 'rxjs/Observable'; 
import { Configuration } from './Configuration.js'; 

@Injectable() 
export class DataService { 
    private actionUrl: string; 

    constructor(private http: HttpClient, private configuration: Configuration) { 
    this.actionUrl = configuration.serviceUrl; 
    } 

    //public getAll<T>(): Observable<T> { 
    // return this.http.get<T>(this.actionUrl); 
    //} 

    public getSingle<T>(id: number): Observable<T> { 
    return this.http.get<T>(this.actionUrl + id); 
    } 
} 

@Injectable() 
export class CustomInterceptor implements HttpInterceptor { 

    intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { 
    if (!req.headers.has('Content-Type')) { 
     req = req.clone({ headers: req.headers.set('Content-Type', 'application/json') }); 
    } 

    req = req.clone({ headers: req.headers.set('Accept', 'application/json') }); 
    console.log(JSON.stringify(req.headers)); 
    return next.handle(req); 
    } 
} 

現在,建設這個項目(我使用Visual Studio 2017年企業)和運行一飲而盡任務transpile對.js的.ts工作得很好,所有的intellisense-tooltips都可以工作 - IDE確實意識到這些東西的存在。 但是,如果我在瀏覽器中打開它(不事關如果Firefox,邊緣或鉻)我得到以下錯誤: zone.js:958 GET http://localhost:3966/libs/@angular/common/bundles/common.umd.js/http 404 (Not Found)

如果我手工編輯transpiled的JavaScript文件,並寫入共同-http.umd.js在那裏,找到該文件。 (這就是爲什麼在頂端導入Configuration.js而不是配置的原因 - 它似乎不想自動解析後綴,就像在某些教程中一樣)。 我希望我不太模糊,因爲這是我第一次公開發問。此外,我無法在給定的問題中找到答案。

回答

0

嗯,我找到了解決辦法,任何人誰是好奇,爲什麼這一點,類似的問題存在: 我不得不修改我的systemjs文件,加入這一行:

'@angular/common/http': 'npm:@angular/common/bundles/common-http.umd.js', 

和它的作品!