Skip to content
This repository was archived by the owner on Oct 9, 2020. It is now read-only.
This repository was archived by the owner on Oct 9, 2020. It is now read-only.

r.BevhaviourSubject is not a constructor #829

Open

Description

@Skuriles

Hello all,
I've tried to update systemjs Builder to 0p.16 and system.js with 0.20 (latest version)
For developement we use systemjs, for production we use the systemjs-builder (same system.config.js).

Problem:
After using the builder Rxjs components no longer work like here:
Issue on Angular Cli
(for me it is r.BevhaviourSubject is not a constructor).
But I didn't find a solution in this issue which works for me

system.config:
Map
'rxjs': 'npm:rxjs',
Package
'rxjs': {main: 'Rx', defaultExtension: 'js' },

in TS file:
import {BehaviorSubject} from "rxjs/BehaviorSubject";
public authenticatedChange = new BehaviorSubject<boolean>(null);

In dev everthing works fine with 0.20. and 0.19. system js version.
So I rolled back to 0.15.X of systemjs Builder and 0.19 systemjs and everything works fine again.

We are also using some kind o uglify/minifier -> Could this issue related to this?
Or does anyone have the same issue, that rxjs is not working correctly after using the builder?
Or do the breaking changes in 0.16 affect the handling of rxjs?

Any help would be appreciated

Regards

Activity

  1. jamesbrobb commented on Aug 8, 2017

    @jamesbrobb

    Does it relate to this issue?

    systemjs/systemjs#1675

  2. aluanhaddad commented on Aug 8, 2017

    @aluanhaddad

    This is usually caused by missing package configuration, specifically the format flag needs to be set since SystemJS 0.20 no longer automatically hoists named exports of CommonJS modules

    SystemJS.config({
      packages: {
        'rxjs': {
          main: 'Rx',
          defaultExtension: 'js',
          format: 'esm'
        }
      }
    });
  3. Skuriles commented on Aug 9, 2017

    @Skuriles
    Author

    Hm, tried it with the format flag, but now it throws other errors.
    Just went back to systemjs 0.19 and all works fine.
    Will have on the linked issue from @jamesbrobb

    Thanks for help

  4. Go4th commented on Feb 19, 2019

    @Go4th

    FYI, for me this was due to importing BehaviorSubject (and Subject for that matter) like
    import { BehaviorSubject } from 'rxjs/BehaviorSubject'
    This works during ng serve, but fails in prod build.
    I changed to
    import { BehaviorSubject } from 'rxjs/Rx'
    and all works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions