Bha*_*vin 17 npm node-modules angular
编译失败.
./src/app/hero.service.ts找不到模块:错误:无法解析'C:\ Users\Admin\angular\myheroes\src\app'中的'rxjs/Observable/of'
Run Code Online (Sandbox Code Playgroud)@ ./src/app/hero.service.ts 13:11-40 @ ./src/app/app.module.ts @ ./src/main.ts @ multi webpack-dev-server/client?http://0.0.0.0:0 ./src/main.ts
我的代码为hero.service.ts
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { of } from 'rxjs/Observable/of';
import { Hero } from './hero';
import { HEROES } from './mock-heroes';
import { MessageService } from './message.service';
@Injectable()
export class HeroService {
constructor(private messageService: MessageService) { }
getHeroes(): Observable<Hero[]>
{
// todo: send the message _after_fetching the heroes
this.messageService.add('HeroService: fetched heroes');
return of (HEROES);
}
}
Run Code Online (Sandbox Code Playgroud)
Ved*_*eri 42
我得到了这个错误,因为旧版本的rxjs和Angular 6需要最新版本的rxjs.
此命令将安装与Angular 6兼容的最新版本.
npm install --save rxjs-compat
Run Code Online (Sandbox Code Playgroud)
Ada*_*Cox 19
正如Aravind在他的评论中指出的那样,案件在这里很重要.代替
import { of } from 'rxjs/Observable/of';
Run Code Online (Sandbox Code Playgroud)
尝试...
import { of } from 'rxjs/observable/of'; // note the lower-cased 'o' on 'observable'
Run Code Online (Sandbox Code Playgroud)
abe*_*els 10
对于那些在7月13日还活着的人来说,导入模块的正确方法如下:
import { Observable, of } from 'rxjs';
Run Code Online (Sandbox Code Playgroud)
我很确定,因为访问大写O和小写o文件夹的命名约定不正确,所以它们以更全面的方式包含它.
注意:这是出生的边缘.;)
通常,您的项目中会有一个文件,rxjs-operators.ts其中包含导入rxjs您需要的部分的文件.您应该将此行添加到该文件:
import 'rxjs/add/observable/of';
Run Code Online (Sandbox Code Playgroud)
还拿出这一行:
import { of } from 'rxjs/observable/of';
Run Code Online (Sandbox Code Playgroud)
或者,直接将其导入您的模块,看看它是否有效.
| 归档时间: |
|
| 查看次数: |
58304 次 |
| 最近记录: |