Super expression must either be null or a function, not undefined in Angular 6 app

Description
I created an angular 6 app in which I integrated zoom SDK for video conferencing. After integrating the SDK the entire app stops working which works fine before integrating Zoom Web SDK. And in the developer’s console I get the following error.

Error
Uncaught TypeError: Super expression must either be null or a function, not undefined.

Which version?
The updated Zoom SDK version 1.7.5
Angular version 6

Screenshots

Can you please help me out with this issue ?

Thanks

Hey @nasir,

Have you seen our Angular Web SDK Sample App:

Thanks,
Tommy

Hi Tommy,

Yes, I have seen the Angular Web SDK Sample App. I used the same code in my app. Still getting the same error. The app works fine when I run it on my local machine. But when I deploy it on the server I get this error.

Hey @nasir,

Can you share your github repo so I can reproduce the issue?

Thanks,
Tommy

Hi Tommy,

I’m getting the error on this url.
http://dest.teacherondemand.co/

import { Component, OnInit, Inject } from ‘@angular/core’;
import { HttpClient } from ‘@angular/common/http’;
import { DOCUMENT } from ‘@angular/common’;
import { ZoomMtg } from ‘@zoomus/websdk’;
import { environment } from ‘…/…/…/environments/environment’;
import * as jwt_decode from “jwt-decode”;

@Component({
selector: ‘app-root’,
templateUrl: ‘./app.component.html’,
styleUrls: [’./app.component.css’]
})

export class AppComponent implements OnInit {

title = 'Teacher_On_Demand';

private localStream: Stream; // Add
private remoteCalls: any = ; // Add
private credentials = {
apiKey: environment.zoomSdkKey,
apiSecret: environment.zoomSdkSecret,
meetingNumber: ‘’,
role: ‘’,
leaveUrl: environment.zoomMeetingLeaveUrl,
userName: ‘’,
userEmail: ‘’,
meetingPassword: ‘’
};

constructor(public httpClient: HttpClient, @Inject(DOCUMENT) document,
) {

ZoomMtg.preLoadWasm();
ZoomMtg.prepareJssdk();

var meetingDetails = localStorage.getItem('meeting');
var claims = jwt_decode(localStorage.getItem('userToken'));
this.credentials.userEmail = claims.Email;
this.credentials.userName = claims.Name;
this.credentials.meetingNumber = meetingDetails.split('&')[0];
this.credentials.meetingPassword = meetingDetails.split('&')[1];
this.credentials.role = meetingDetails.split('&')[2];

this.getSignature();

}

ngOnInit() {

}

getSignature() {

  var signature = ZoomMtg.generateSignature({
    meetingNumber: this.credentials.meetingNumber,
    apiKey: this.credentials.apiKey,
    apiSecret: this.credentials.apiSecret,
    role: this.credentials.role,
    success: function(res){
        
    }
});

 this.startMeeting(signature);

}

startMeeting(signature) {

document.getElementById('zmmtg-root').style.display = 'block'

ZoomMtg.init({
  leaveUrl: this.credentials.leaveUrl,
  isSupportAV: true,
  success: (success) => {
    
    ZoomMtg.join({
      signature: signature,
      meetingNumber: this.credentials.meetingNumber,
      userName: this.credentials.userName,
      apiKey: this.credentials.apiKey,
      userEmail: this.credentials.userEmail,
      passWord: this.credentials.meetingPassword,
      success: (success) => {
        console.log(success)
      },
      error: (error) => {
        console.log(error)
      }
    })
  },
  error: (error) => {
    console.log(error)
  }
})

}
}

Hey @nasir,

This seems to be an error relating to Angular and your environment. What Angular version are you using?

Please also see the threads here:

https://devforum.zoom.us/search?q=Super%20expression%20must%20either%20be%20null%20or%20a%20function

Thanks,
Tommy

@tommy I have the same issue and I’m using Angular 8.1.2

Hi Tommy,

I tried some of the solutions which you shared. But it’s still not working. I added the sdk through
ZoomMtg.setZoomJSLib(“https://source.zoom.us/1.6.1/lib”, “/av”)
instead of npm package still getting the same error

Hey @andrej, @nasir,

Can you provide a GitHub repo with the issue so I can reproduce it locally and debug?

Thanks,
Tommy