Angular5 Can';t已解决';rxjs/Rx';在教程示例中
angular cli版本为6.0.8,rxjs版本为6.3.3 我正在遵循一个教程并得到错误:无法解析'rxjs/Rx'。如何着手解决错误?有没有一种方法可以使用rxJS的早期版本 代码如下: 服务.tsAngular5 Can';t已解决';rxjs/Rx';在教程示例中,angular5,angular6,Angular5,Angular6,angular cli版本为6.0.8,rxjs版本为6.3.3 我正在遵循一个教程并得到错误:无法解析'rxjs/Rx'。如何着手解决错误?有没有一种方法可以使用rxJS的早期版本 代码如下: 服务.ts import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; @Injectable() e
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");
}
}
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]
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;
}
);
}
}
})
导出类AppModule{}
应用程序组件.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");
}
}
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]
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;
}
);
}
}
从'@angular/core'导入{Component,OnInit};
从“./Service”导入{Service};
进口“rxjs/Rx”;
@组成部分({
选择器:'应用程序根',
模板:`
-
{{post.title}{{post.body}
错误:{{{u Error.status}}:{{{{u Error.statusText}
`,
样式:['div{字体大小:20px;填充:5px;背景-
颜色:红色;颜色:白色}']
})
导出类AppComponent实现OnInit{
_员额=[];
_错误;
构造函数(私有_服务:服务){}
恩戈尼尼特(){
这是。_service.getPosts()
.订阅(
响应=>{
这个。_posts=响应;
},
错误=>{
这是错误;
}
);
}
}
确保在使用rxjs V6及以上版本时,pakage.json文件中也包含了rxjs compat库。Rxjs使基于路径的导入成为可选的
import 'rxjs/Rx';
你为什么需要这个进口?。看不到您的组件中使用了RX。如果不需要,请删除并重试 也许这对你有帮助:我评论了这句话,发现了一个错误。重新开始发球,开始起作用了。谢谢我最终不必添加那个库。但是在将来,我将如何在package.json中添加它呢?是否只是“rxjs compat”:“^6.0.0”?