VSCode拡張からWebSocketが使えないときの対応

この記事は公開から1年以上経過しています。

VSCode Macrosのマクロ(Node環境)から、AWS AppSync(JS API v6)のGraphQL Subscriptionを利用したところ機能しなかったので、その対応についての備忘録。


原因

デフォルトのNode.js環境ではWebSocketが利用できないため、ライブラリ内部で

Exception has occurred: ReferenceError: WebSocket is not defined

のようなエラーが発生している。


対応

Node.jsでWebSocketが使用できるように設定する。

  1. wsパッケージをインストール。

    npm i ws
  2. requireでglobalなWebSocketオブジェクトを設定。

    const vscode = require('vscode');
    global.WebSocket = require('ws'); // 追加


参考ウェブサイトなど

以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする