【发布时间】:2017-05-05 13:21:20
【问题描述】:
我正在尝试使用 PubNub 导入/集成我的 angular2 MEAN Web 应用程序。我收到如下错误:
例外:未捕获(承诺):错误:PubNub 不在全局范围内 范围。确保在 angular 之前包含 pubnub.js v4 库 适配器
我参考了这些链接https://www.pubnub.com/docs/angular2-javascript/pubnub-javascript-sdk
我在 index.html 文件中包含了 angular2 pubnub '.js' 文件,例如:
<script src="node_modules/core-js/client/shim.min.js"></script>
> <script src="node_modules/zone.js/dist/zone.js"></script>
> <script src="node_modules/reflect-metadata/Reflect.js"></script>
> <script src="node_modules/rxjs/bundles/Rx.js"></script>
>
> <script src="node_modules/@angular/core/bundles/core.umd.js"></script>
> <script src="node_modules/@angular/common/bundles/common.umd.js"></script>
> <script src="node_modules/@angular/compiler/bundles/compiler.umd.js"></script>
> <script src="node_modules/@angular/platform-browser/bundles/platform-browser.umd.js"></script>
> <script src="node_modules/@angular/forms/bundles/forms.umd.js"></script>
> <script src="node_modules/@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js"></script>
>
> <script src="node_modules/pubnub/dist/web/pubnub.js"></script>
>
> <script src="node_modules/pubnub-angular2/dist/pubnub-angular2.js"></script>
在 Module.ts 代码中输入如下:
导入的文件是
import { PubNubAngular } from 'pubnub-angular2';
providers: [PubNubAngular]
在我的 Component Pubnub Init 函数中放置如下:
pubnubService: PubNubAngular;
constructor(private _cookieService: CookieService,
private http: Http,
private _ApiMessageService: ApiMessageService,
private _errorService: ErrorService,
pubnubService: PubNubAngular) {
this.pubnubService = pubnubService;
this.pubnubService.init({
publishKey: 'XXX',
subscribeKey: 'XXX'
});
this.pubnubService.subscribe({
channels: ['Order' + this.orderId],
withPresence: true,
triggerEvents: ['message', 'presence', 'status']
});
}
【问题讨论】:
-
你的代码会很有帮助,否则我们会猜测。
-
以上问题已用代码编辑
标签: angular typescript pubnub