Не удалось разрешить 'rxjs / Rx' в учебном примере - PullRequest
0 голосов
/ 07 октября 2018

Версия angular-cli - 6.0.8, а версия rxjs - 6.3.3.

Я следую учебному пособию и получаю сообщение об ошибке: Не удается разрешить 'rxjs / Rx'.Как мне исправить ошибку?Есть ли способ, которым я могу использовать предыдущую версию rxJS?

Вот код:

service.ts

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';

@Injectable()
export class Service {
  constructor(private _http: HttpClient) {

}

getPosts(): Observable<any> {
    return 
this._http.get("http://jsonplaceholder.typicode.com/posts");
  }

}

app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';
import { HttpClientModule } from '@angular/common/http';
import { Service } from './service';

@NgModule({
 declarations: [
  AppComponent
 ],
 imports: [
  BrowserModule,
  HttpClientModule
 ],
 providers: [HttpClientModule, Service],
 bootstrap: [AppComponent]

}) класс экспорта AppModule {}

app.component.ts

import { Component, OnInit } from '@angular/core';
import { Service } from './service';
import  'rxjs/Rx';

@Component({
   selector: 'app-root',
   template: `
    <ul>
      <li *ngFor="let post of _posts">
        <b>{{post.title}}</b> {{post.body}}
      </li>
    </ul>
    <div *ngIf="_error">
      Error: {{_error.status}}:{{_error.statusText}}
    </div>
  `,
   styles: ['div {font-size:20px;padding:5px;background- 
       color:red;color:white}']
})
export class AppComponent implements OnInit {
      _posts = [];
      _error;
      constructor(private _service: Service) {}

      ngOnInit() {
        this._service.getPosts()
            .subscribe(
             response => {
                this._posts = response;
      },
        error => {
          this._error = error;
      }
    );
  }
}

Ответы [ 2 ]

0 голосов
/ 07 октября 2018

Как вы используете Rxjs V6 и выше.Rxjs сделал импорт на основе пути необязательным.

import  'rxjs/Rx';

Зачем вам нужен этот импорт ?.В вашем компоненте не используется RX.Пожалуйста, удалите и попробуйте, если не требуется.

0 голосов
/ 07 октября 2018

Убедитесь, что библиотека rxjs-compat также включена в файл pakage.json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...