[解決済み] なぜ、ReferenceErrorが発生するのでしょうか?Discord.js v13 で AbortController が定義されていないのですが?
質問
本日(2021.8.7)より Discord.js v13 がリリースされました。そこで、以前使っていた Discord.js でインストールされます。
npm i discord.js@latest
を、私の基本的な index.js ファイルをこの状態にします(私は Discord.jsガイド ):
const { Client, Intents } = require("discord.js");
const client = new Client({
intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES],
});
client.once("ready", () => {
console.log("Ready!");
});
client.login("my-token");
しかし、私のコードを実行しようとすると、このエラーが出続けます。
$ node .
(node:11216) UnhandledPromiseRejectionWarning。ReferenceError: AbortController は定義されていません
at RequestHandler.execute (C:\) パス先 \node_modules_discord.js)
私は、これまで Discord.js 2018年から、それゆえ、私は新しいリリースで困っていることに愕然としました。 の問題なのでしょうか? Discord.js v13 ライブラリですか?そうでない場合、どうすればこのエラーを修正できますか?
解決方法は?
問題点
の1つです。 前提条件 Discord.js v13を使用するには、NodeJS v16.6以降を使用する必要があります(強調)。
v13 は Node 16.6 以上が必要です。 を使用するため、最新版であることを確認してください。 を更新してください。Nodeのバージョンを確認するには、node -vを使用してください。
修正について
修正方法は、ノードのバージョンを更新することです。
node -v
. また
さまざまな方法
Linux / iOS をお使いの場合、以下のコマンドを実行することも一つの方法です。
> npm install -g n
> n latest
最初のコマンドは、コマンドラインインターフェイスをインストールします
n
を使用し、次に
n
を実行して、最新の安定版ノードに更新します。Windowsをお使いの場合は、次のようにインストールします。
NVM
で説明したように
この回答
によって
プラーデク
.
Herokuをご利用の方へのご注意 :
上記の手順で node のバージョンを更新したら、次に
package.json
ファイルにエンジンを追加・更新してください。
"engines": {
"node": "16.x"
}
なぜv13で壊れたのでしょうか?
discordjsの数バージョン前に、時間がかかりすぎる(15秒以上)リクエストを中止させる機能が追加されました。この機能を実現するために、以前はノードパッケージの
アポートコントローラー
. しかし、nodejsが進化した現在では、独自の
AbortController
グローバルを使用することで、外部パッケージを要求する必要がありません。Discord.js v13では、このグローバルに依存するようになりました。
abort controller パッケージを使用しなくなりました。
. を使用するために
AbortController
しかし、discord.jsガイドが推奨するように、使用する可能性のある他の機能のサポートを有効にするには、v16.6+を使用する必要があります。
関連
-
[解決済み】パッシブイベントリスナー内部でpreventDefaultができない
-
[解決済み】 Uncaught TypeError: data.push is not a function
-
[解決済み】React Js: Uncaught (in promise) SyntaxError: 位置 0 の JSON で予期しないトークン < が発生しました。
-
[解決済み】JavaScriptで':'(コロン)は何をするのか?
-
[解決済み】Uncaught ReferenceError: angular is not defined - AngularJSが動作しない。
-
[解決済み] 解決済み】clearInterval()が動作しない [重複] [重複]
-
[解決済み】React、Uncaught ReferenceError。ReactDOMは定義されていません
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] Babel 6 regeneratorRuntimeが定義されていません。
-
[解決済み] Node.jsで「ReferenceError: primordials is not defined」を修正する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Failed to load resource: net::ERR_FILE_NOT_FOUND loading json.js
-
[解決済み】Uncaught ReferenceError: angular is not defined - AngularJSが動作しない。
-
[解決済み】webpack-dev-serverにリモート接続すると、「Invalid Host header」というメッセージが表示されます。
-
[解決済み】JavaScriptのinnerHTMLで要素が更新されない
-
[解決済み】Google Conversionsが動作しない - スクリプトが読み込まれない
-
[解決済み】React.jsの配列の子要素のユニークキーを理解する
-
[解決済み】エラー:リクエストのエンティティが大きすぎる
-
[解決済み】Uncaught TypeError: 未定義のプロパティ 'msie' を読み取れない - jQuery tools
-
[解決済み】未定義のプロパティ 'forEach' を読み取ることができない
-
[解決済み】Javascript、[オブジェクトHTMLInputElement]を表示中。]