NG2 не будет строить с помощью конструктора (http: Http), неожиданный токен

#angular

#angular

Вопрос:

Я пытаюсь получить веб-страницу с рабочей кнопкой, чтобы использовать эту кнопку для отправки http-запроса. У меня установлен и объявлен в модуле угловой http. Это ошибка, которую я получаю

 11 | @Injectable()
  12 | export class LoadButton {
> 13 |   constructor(private http: Http) {
     |                       ^
  14 |   }
  15 |   clicked(event) {
  16 |     console.log(this.http.get)

npm ERR! Linux 4.4.0-38-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "build"
npm ERR! node v6.7.0
npm ERR! npm  v3.10.3
npm ERR! code ELIFECYCLE
npm ERR! random-quote@1.1.1 build: `babel src -d app`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the random-quote@1.1.1 build script 'babel src -d app'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the random-quote package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     babel src -d app
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs random-quote
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls random-quote
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/drew/Dropbox/js/sideProjs/redditTime/npm-debug.log
  

файл, вызывающий ошибку

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

@Component ({
    selector: 'buttonTest',
    template: `
    <button (click)='clicked($event)'>Test Button</button>
    `
})
@Injectable()
export class LoadButton {
  constructor(private http: Http) {
  }
  clicked(event) {
    console.log(this.http.get)
  }
}
  

конфигурация системы упоминается в нескольких сообщениях о переполнении стека, но это не кажется неправильным

 (function() {
  // map tells the System loader where to look for things
  var map = {
    'app': 'app',
    '@angular': 'node_modules/@angular',
    'rxjs': 'node_modules/rxjs'
  };
  // packages tells the System loader how to load when no filename and/or no extension
  var packages = {
    'app': { main: 'main.js',  defaultExtension: 'js' },
    'rxjs': { defaultExtension: 'js' }
  };
  var ngPackageNames = [
    'common',
    'compiler',
    'core',
    'forms',
    'http',
    'platform-browser',
    'platform-browser-dynamic',
    'router'
  ];
  ngPackageNames.forEach(function(pkgName) {
    packages['@angular/' pkgName] = { main: 'bundles/'   pkgName   '.umd.js', defaultExtension: 'js' };
  });
  var config = {
    map: map,
    packages: packages
  };
  System.config(config);
})();
  

Есть идеи? Не уверен, что я пропустил, что вызывает эту ошибку.

Ответ №1:

Какова ваша версия angular?

импортируйте HttpModule в объявлении NgModule

 import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {HttpModule} from '@angular/http';
import {AppComponent} from './app.component';

@NgModule({
  declarations: [
    AppComponent,
  ],
  imports: [
    BrowserModule,
    HttpModule,
  ],
  providers: [
  ],
  bootstrap: [AppComponent]
})
export class AppModule {
}  

Комментарии:

1. angular 2.0.1 Я дважды проверил свой модуль, и у нас то же самое