2016-02-13 126 views
0

我正在嘗試將一個Angular 2應用程序移植到Angular 2,到目前爲止,我遇到了Http無法解析的問題。只要我注入HTTP_PROVIDERS,我得到以下錯誤:注入Http時出現Angular 2錯誤

Uncaught SyntaxError: Unexpected token < Evaluating 
http://localhost:3000/angular2/http  Error loading 
http://localhost:3000/app/main.js 

下面是我的main.ts代碼:

import {bootstrap} from 'angular2/platform/browser'; 
import {AppConverter} from './app.converter'; 
import {CurrencyService} from './services/service.currencies'; 
import {RippleService} from './services/service.ripple'; 
import {HTTP_PROVIDERS, Http} from 'angular2/http'; 

bootstrap(AppConverter, [CurrencyService, HTTP_PROVIDERS, RippleService]); 

這裏的地方我試圖使用它的服務,雖然它的評論現在:

import {Http} from 'angular2/http'; 
import {Inject, Injectable} from 'angular2/core'; 
@Injectable() 
export class RippleService { 
    requestUrl: string= null; 
    constructor(url: string) // public httpService:Http, url: string){ 
     this.requestUrl = url; 
    } 
} 

如果我從main.ts刪除HTTP_PROVIDERS,錯誤消失,我的應用程序顯示fine.But ofcourse沒有http service。要麼是Angular中的一個bug,要麼我沒有這樣做(我認爲它是#2)。

我採用了棱角分明2.0.0 Beta版6

+1

您是否在您的html文件中添加了'? – Sasxa

+0

分享你的index.html文件 –

+0

@Sasxa我補充說,它的工作原理,謝謝!在我讀過的所有教程中,都沒有提到過(甚至在官方的Angular 2文檔中也沒有提到過)...... – gen

回答

1

HTTP是一個獨立的模塊(不包括在默認包),所以你需要把它列入你的主HTML文件:

<script src="https://code.angularjs.org/2.0.0-beta.6/http.dev.js"></script> 

您可以在official docs找到更多的信息,這裏的example plunker

-2

由於Sasxa指出,原來我只需要以下添加到我的index.html文件:

<script src="node_modules/angular2/bundles/http.dev.js"></script> 
+0

@sasxa已經發布了相同的答案,那麼爲什麼你需要發佈相同的答案?您接受的標誌顯示答案是有幫助的,不需要再次發佈相同的答案。 –

+0

我在@sasxa之前發佈了我的答案,但是我在發佈之後接受了他的答案。東西發生。爲什麼downvote? – gen

+0

但根據顯示的時間間隔,您在@ sexsa的答案後回答。 nd更多的一件事我沒有downvote你的答案我剛剛發表評論。其社區成員誰downvote你的答案。 –