我试图在Angular 7中使用Stream,但是出现以下错误。
ReferenceError:未定义全局 ReferenceError:未定义全局 在Object ../ node_modules / faye / src / util / browser / event.js(event.js:45) 位于 webpack_require (引导程序:83) 在Object ../ node_modules / faye / src / protocol / client.js(client.js:8) 位于 webpack_require (引导程序:83) 在Object ../ node_modules / faye / src / faye_browser.js(faye_browser.js:9) 位于 webpack_require (引导程序:83) 在Object ../ node_modules / getstream / lib / lib / client.js(client.js:25) 位于 webpack_require (引导程序:83) 在Object ../ node_modules / getstream / lib / getstream.js(getstream.js:6) 位于 webpack_require (引导程序:83) 在resolvePromise(zone.js:814) 在resolvePromise(zone.js:771) 在zone.js:873 在ZoneDelegate.push ../ node_modules / zone.js / dist / zone.js.ZoneDelegate.invokeTask(zone.js:421) 在Object.onInvokeTask(core.js:16147) 在ZoneDelegate.push ../ node_modules / zone.js / dist / zone.js.ZoneDelegate.invokeTask(zone.js:420) 在Zone.push ../ node_modules / zone.js / dist / zone.js.Zone.runTask(zone.js:188) 在排水微任务队列(zone.js:595)
我正在使用npm 4.1.0版中的“ getstream”包。
这是一段代码以及我如何引用它。
import { Injectable } from '@angular/core';
import { Constants } from './../constants';
import * as stream from 'getstream';
@Injectable({
providedIn: 'root'
})
export class ActivityService {
userToken: string;
streamClient: stream.Client;
constructor(public azureService: AzureService) {
console.log("Activity Service");
}
async initializeClient() {
try {
await this.getUserToken();
if (this.userToken) {
this.streamClient = await stream.connect(Constants.streamKey, this.userToken, Constants.streamAppId);
}
}
catch (error) {
console.log('Error creating stream client - ', error);
throw error;
}
}
我尝试声明全局,但是我不确定还有什么尝试。在这种情况下,导入和使用Stream的正确方法是什么?
答案 0 :(得分:1)
这看起来像一个Angular问题。他们确实为此提供了一些解决方法。 https://github.com/angular/angular-cli/issues/8160 https://github.com/angular/angular-cli/issues/9827#issuecomment-386154063
(window as any).global = window;