无法加载RxJ

Quy*_*ang 3 rxjs angular

我在组件文件之一中使用此import语句:

import {BehaviorSubject} from 'rxjs';
@Injectable()
export class UserService {
    private currentUser = new BehaviorSubject<User>(null);
}
Run Code Online (Sandbox Code Playgroud)

当浏览器加载应用程序时,它会抛出以下异常:

SyntaxError: Unexpected token <
Evaluating http://localhost:3000/rxjs
Error loading http://localhost:3000/app/components/app.js
at eval (native)
at SystemJSLoader.__exec (http://localhost:3000/vendors.js:3320:16)
Run Code Online (Sandbox Code Playgroud)

我不知道为什么它不起作用.因为Angular2已经工作了.有谁可以帮我这个案子?

Thi*_*ier 6

我认为这与使用Gulp但与你使用的模块连接有关.

您应该使用以下之一:

import {BehaviorSubject} from 'rxjs/Rx';
Run Code Online (Sandbox Code Playgroud)

要么

import {BehaviorSubject} from 'rxjs/subject/BehaviorSubject';
Run Code Online (Sandbox Code Playgroud)

事实上,RxJS不rxjs直接注册模块,而是子模块(类似的东西rxjs/something).所以SystemJS找不到以前注册的模块,所以它尝试从地址加载,http://localhost:3000/rxjs但返回404错误...

  • 凉!谢谢蒂埃里.它完美地运作.但我不知道为什么很多人提到使用import语句:从'rxjs'导入{BehaviorSubject}; 我让我浪费了很多时间. (3认同)