0

我正在尝试将一个小型 Angular 1 应用程序移植到 Angular 2,到目前为止,我遇到了无法解决的 Http 问题。一旦我注入 HTTP_PROVIDERS,我就会收到以下错误:

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;
    }
}

如果我从 中删除HTTP_PROVIDERSmain.ts错误消失,我的应用程序显示正常。但当然没有http service. 要么是 Angular 中的错误,要么我做的不对(我假设它是 #2)。

我正在使用 Angular 2.0.0 beta 6

4

2 回答 2

1

Http 是一个单独的模块(不包含在默认包中),因此您需要将其包含在您的主 html 文件中:

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

您可以在官方文档中找到更多信息,这里是plunker 示例

于 2016-02-13T23:38:38.897 回答
-2

正如 Sasxa 指出的那样,我只需要将以下内容添加到我的 index.html 文件中:

<script src="node_modules/angular2/bundles/http.dev.js"></script>
于 2016-02-13T23:38:35.140 回答