如何在angular-cli v1.0.0-beta.11-webpack.8中使用http

How to use http in angular-cli v1.0.0-beta.11-webpack.8

我最初 pos 在 Github 问题上提出这个问题,但是,系统提示我宁愿在 Whosebug 上尝试这里。所以,这里是:

我最初使用 1.0.0-beta.9.

版本测试并编写了 tutorial for Pluralsight

但是,我今天尝试使用 latest version,但我终究无法弄清楚如何使用 http 来调用某些服务。请问有什么例子可以分享吗?


附加信息:

  1. OS Mac OSX (El Capitan - 10.11.4)

  2. 版本: angular-cli: 1.0.0-beta.14 节点:4.4.2 os:达尔文 x64

  3. 重现步骤:尝试了各种方式和 tuts 注入 http 但无济于事。

我不喜欢寻找一些帮助或其他东西,我只是在寻求帮助以朝着正确的方向前进。

最重要的是,感谢您提供这个很棒的项目!

我想出了问题所在,所以如果其他人自己偶然发现了这个问题,我不妨在这里解释一下。

所以,当我用 npm install -g angular-cli 安装 angular-cli 时,我一开始并没有注意到这个错误: UNMET PEER DEPENDENCY webpack@2.1.0-beta.22

我现在做的是

npm install webpack -g && npm install webpack --save-dev

现在我通常可以像这样将 Http 包含到我的组件中:

import { Http, Response } from '@angular/http';

然后像这样在 class 中使用它:

import { Component } from '@angular/core';
import { Http, Response } from '@angular/http';

@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    styleUrls: ['./app.component.css']
})
export class AppComponent {
    title = 'app works!';

constructor(private http: Http){
    let link = 'http://api.giphy.com/v1/gifs/search?api_key=dc6zaTOxFJmzC&q=';
        let apiLink = link + 'cats';

        this.http.request(apiLink).subscribe((res: Response) => {
            console.log(res.json());
        });
  }

}

希望这对某人有所帮助。