在app.component.ts中导入HTTP_PROVIDERS

时间:2016-09-07 15:06:07

标签: angular

当我尝试从angular / http导入HTTP_PROVIDERS时出现此错误:

Error:(3, 9) TS2305: Module '"projectname/node_modules/@angular/http/index"' has no exported member 'HTTP_PROVIDERS'.

这是我的文件内容:

import { Component } from '@angular/core';
import {GithubService} from './services/github.service';
import {HTTP_PROVIDERS} from  '@angular/http';

@Component({
    selector: 'my-app',
    template: '<h1>My First Angular 2 App</h1><Profile></Profile>',
    providers: [ HTTP_PROVIDERS, GithubService ]
})

export class AppComponent { }

2 个答案:

答案 0 :(得分:9)

如果您使用&gt; = RC.5将HttpModule添加到imports中的@NgModule代替:

@NgModule({
  imports: [HttpModule],
  ...
})
class AppModule {}

答案 1 :(得分:2)

如果我想使用例如

编写auth-interceptor,该怎么办?
import { provideAuth } from 'angular2-jwt';
...
bootstrap(App, [
  HTTP_PROVIDERS,
  provideAuth({
    headerName: YOUR_HEADER_NAME,
    headerPrefix: YOUR_HEADER_PREFIX,
    tokenName: YOUR_TOKEN_NAME,
    tokenGetter: YOUR_TOKEN_GETTER_FUNCTION,
    globalHeaders: [{'Content-Type':'application/json'}],
    noJwtError: true,
    noTokenScheme: true
  })
])

首先,@ angular / http中没有HTTP_PROVIDERS。其次,@ angular / platform-b​​rowser-dynamic

中没有引导程序

当你想要编写你的auth拦截器时,无论你到哪里都能找到simillar的东西,但是在角落2的发布版本中没有任何地方写出如何做到这一点:( 所有的例子都不再适用了:(任何人都可以告诉我如何使用hte RELEASED版本的angular2编写一个auth拦截器,即@angular / *:2.0.0