2016-05-16 17 views
2

私は以下のクラスを型スクリプトで記述しています。コンパイルすると、TypeScript:予期しないトークン。 'コンストラクタ、関数、アクセサまたは変数'

"src\main\MqttClientWrapper.ts(24,2): error TS1068: Unexpected token. A construct or, method, accessor, or property was expected."というエラーが出ます。

以下は私のコードです。

var mqtt :any = require('mqtt'); 

export interface IWillMessage { 
    topic: string; 
    payload: string; 
    qos: number; 
    retain: string; 
} 

export interface IMessageReceivedCallBack { 
    onMessageReceived(message : string); 
} 

export interface IMqttOptions { 
    clientId: string; 
    keepAlive: number; 
    clean: string; 
    reconnectPeriod: string; 
    will: IWillMessage; 
} 

export default class MqttClientWrapper { 

client : any; 

constructor(url: string, mqttOptions : IMqttOptions, messageReceivedCallBack : IMessageReceivedCallBack) { 
    client = mqtt.connect(url, mqttOptions); 
    client.on('message',function(topic : string, message : string){ 
    messageReceivedCallBack.onMessageReceived(message); 
    } 
} 

subscribeMessage(topic : string) { 
    client.subscribe(topic); 
} 

publishMessage(topic : string, message : string, level : number) { 
    client.publish(topic,message,level); 
} 

} 

エラーが行を指している、私が試してみました

client : any; 

"VARクライアント:任意の;" とは、 "クライアントを聞かせて:任意の" なども。それでも私は同じエラーが発生します。また、トレースの下にエラーの行があります。

src\main\MqttClientWrapper.ts(26,16): error TS1005: ',' expected. 
[16:44:41] [Typescript] TypeScript error: src\main\MqttClientWrapper.ts(26,16): 
error TS1005: ',' expected. 
src\main\MqttClientWrapper.ts(26,38): error TS1005: ',' expected. 
[16:44:41] [Typescript] TypeScript error: src\main\MqttClientWrapper.ts(26,38): 
error TS1005: ',' expected. 
src\main\MqttClientWrapper.ts(26,78): error TS1005: ',' expected. 
[16:44:41] [Typescript] TypeScript error: src\main\MqttClientWrapper.ts(26,78): 
error TS1005: ',' expected. 
src\main\MqttClientWrapper.ts(26,106): error TS1005: ';' expected. 
[16:44:41] [Typescript] TypeScript error: src\main\MqttClientWrapper.ts(26,106): 
error TS1005: ';' expected. 
src\main\MqttClientWrapper.ts(31,1): error TS1005: ',' expected. 
[16:44:41] [Typescript] TypeScript error: src\main\MqttClientWrapper.ts(31,1): e 
rror TS1005: ',' expected. 
src\main\MqttClientWrapper.ts(33,24): error TS1005: ',' expected. 
[16:44:41] [Typescript] TypeScript error: src\main\MqttClientWrapper.ts(33,24): 
error TS1005: ',' expected. 
src\main\MqttClientWrapper.ts(33,34): error TS1005: ';' expected. 
[16:44:41] [Typescript] TypeScript error: src\main\MqttClientWrapper.ts(33,34): 
error TS1005: ';' expected. 
src\main\MqttClientWrapper.ts(37,22): error TS1005: ',' expected. 
[16:44:41] [Typescript] TypeScript error: src\main\MqttClientWrapper.ts(37,22): 
error TS1005: ',' expected. 
src\main\MqttClientWrapper.ts(37,40): error TS1005: ',' expected. 
[16:44:41] [Typescript] TypeScript error: src\main\MqttClientWrapper.ts(37,40): 
error TS1005: ',' expected. 
src\main\MqttClientWrapper.ts(37,56): error TS1005: ',' expected. 
[16:44:41] [Typescript] TypeScript error: src\main\MqttClientWrapper.ts(37,56): 
error TS1005: ',' expected. 
src\main\MqttClientWrapper.ts(37,67): error TS1005: ';' expected. 
[16:44:41] [Typescript] TypeScript error: src\main\MqttClientWrapper.ts(37,67): 
error TS1005: ';' expected. 
src\main\MqttClientWrapper.ts(41,1): error TS1128: Declaration or statement expe 
cted. 

以下は行番号のコードです。また、私はそこにあるため、これらの行の最初の「予期しないトークンエラー」または間違った何かのそれらのエラーだけでなく?ここで間違って何を

enter image description here

をしているのでしょうか?ご意見をお聞かせください。

+0

あなたのコードは、遊び場でコンパイルされます:http://www.typescriptlang.org/play/index.html。どのタイプスクリプトバージョンを使用していますか? –

+0

@RegisPortalezその1.8.7 – mayooran

+0

これは、あなたが添付した画像を見ている '' 24行目について文句を言っています。これは、 '' let client:any; 'はクラス内では許可されていません。おそらく、あなたは「クライアント:任意」または「プライベートクライアント:任意」(公共)を意味するのでしょうか? –

答えて

8

あなたは、あなただけpublicまたはprivateオア・ナッシング(またはstatic)を使用することができ、letまたはvarでクラスのメンバを定義することはできません。

これはあなたの問題を引き起こすものである:

export default class MqttClientWrapper { 
    let client : any; // <- right here 

    // ... 
} 

これは、あなたが添付画像ではなく、あなたが投稿したコードで唯一のケースです。

関連する問題