ホームページ  >  記事  >  ウェブフロントエンド  >  輸入促進に起因する Fundebug によって報告されるエラーの解決策 (詳細)

輸入促進に起因する Fundebug によって報告されるエラーの解決策 (詳細)

不言
不言転載
2019-02-28 11:35:572873ブラウズ

この記事の内容は、輸入促進による Fundebug エラーの解決方法に関するものです (詳細)。困っている方は参考にしていただければ幸いです。

概要: 「APIKEY を設定してください」エラーの理由を説明します。

一部の Fundebug ユーザーが import を使用して js ファイルをインポートすると、「APIKEY を設定してください」というエラー メッセージが表示されます。これはインポートのプロモーションが原因で発生します。これについては後で詳しく説明します。

インポートの改善

インポートの改善については、Ruan Yifeng の「ECMAScript 6 の概要」を参照してください。

import コマンドにはリフティング効果があり、モジュール全体の先頭に昇格して最初に実行されます。

foo();

import { foo } from 'my_module';

foo が呼び出される前にインポートが実行されるため、上記のコードはエラーを報告しません。この動作の本質は、コードが実行される前のコンパイル段階で import コマンドが実行されることです。

したがって、import ステートメントを最後に書いたとしても、他のステートメントよりも 前に実行されます。

インポート プロモーションによって Fundebug がエラーを報告するのはなぜですか?

fundebug ユーザーは、fundebug-javascript プラグインにアクセスした後、次のように apikey を設定する必要があることに注意してください:

import * as fundebug from "fundebug-javascript";
fundebug.apikey = "API-KEY";

test もインポートする必要があると仮定します。 .js ファイル、このファイルは次のようにエラーをスローします:

// test.js
throw new Error("test")

すべてが正常に見えます:

// main.js
import * as fundebug from "fundebug-javascript";
fundebug.apikey = "API-KEY";
import "./test"

ただし、インポート プロモーションによると、コードの実際の実行順序は異なります。

// main.js
import * as fundebug from "fundebug-javascript";
import "./test"
fundebug.apikey = "API-KEY";

この場合、コードの 2 行目でエラーがスローされ、apikey copy ステートメントが実行されず、「Please configure apikey」というエラーが発生します。

この問題は解決する必要はありません

テスト目的で、ユーザーは、上記の test.js と同様に、エラーをすぐに報告する js ファイルをインポートします。しかし、実際の開発ではこれを行うことは不可能です。そうしないと、デプロイメントはおろか、アプリケーションがすぐにクラッシュしてしまいます。

このブログを書く目的は、その理由を説明し、非常に簡単な知識ポイントである「輸入促進」を共有することだけです。

この問題を回避するにはどうすればよいですか?

参考までに、実際にはこれを行う必要はありません。

新しい構成ファイル config.js を作成し、このファイルで apikey を構成します:

fundebug.apikey = "API-KEY";

インポート構成ファイル:

// main.js
import * as fundebug from "fundebug-javascript";
import "./config"
import "./test"

この種類この場合、apikey を構成するステートメントは import に置き換えられるため、いわゆる「インポート プロモーション」の問題は発生せず、Fundebug は通常どおりエラーを報告します。

以上が輸入促進に起因する Fundebug によって報告されるエラーの解決策 (詳細)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。