angular2-cli 프로젝트에 PubNub를 추가하고 싶습니다. 문제는 연결에 있습니다. 그러나 npmjs.com의 pubnub-angular2 패키지의 지침을 따랐습니다.angular2 cli 프로젝트에 pubnub 추가
예외 :
내가 브라우저에서로드하려고하면 오류 메시지가 이것이다 PubNub는 전역 범위에 있지 않습니다. 라이브러리가 각 어댑터 app.module.ts에서
전에 포함되는 pubnub.js의 V4를 확인, 나는 다음과 같은 한 다음에
import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {FormsModule} from '@angular/forms';
import {HttpModule} from '@angular/http';
import {PubNubAngular} from 'pubnub-angular2';
import {AppComponent} from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule
],
providers: [PubNubAngular],
bootstrap: [AppComponent]
})
export class AppModule {}
app.component.ts, 다음 코드가 있습니다.
import {Component, Injectable, Class} from '@angular/core';
import {PubNubAngular} from "pubnub-angular2";
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'Pubnub Chat Service';
private channel = 'chat-demo-app';
constructor(private pubnubService: PubNubAngular) {
pubnubService.init({
publishKey: 'pub-c-***',
subscribeKey: 'sub-c-***'
});
}
sendMessage(message: string): void {
this.pubnubService.publish({
channel: this.channel,
message: message
});
}
}
참고.
미리 감사드립니다. 나는 당신이를 추가해야합니다, 당신은 가능성이 누락 될 수있는 유일한 것은 당신의 index.html을 필요 스크립트 태그입니다 코드에서 무엇을 말할 수에서
나는이 라이브러리를 사용한 적이 있지만, 오류, 당신은 중앙 도서관 있었으나 결국 각 어댑터를 가져 didin't 매우 간단 보인다. vendor.ts에'import "myLibrary"와 같은 라이브러리를 포함하거나 index.html에 추가해야합니다. 그것을 사용하는 컴포넌트/서비스에서'pubnub-angular2'를 가져 오기 전에. – n00dl3
네, 정말 솔직합니다. 그러나 해결책은 나에게 그렇게 사소하지 않다. vendor.ts는 변경할 수없는 제 3 자 라이브러리입니다. 브라우저가 index.html에서 node_modules 디렉토리를 참조 할 때 아무것도 찾을 수없는 반면 (노드 모듈은 src와 동일한 수준에 있으며 index.html은 src 폴더). –