ホームページ >ウェブフロントエンド >jsチュートリアル >milsymbol.js を ArcGIS JSAPI にインポートすると、「Uncaught SyntaxError: Cannot use importstatementOutside a module」というメッセージが表示されるのはなぜですか?
ECMAScript 6 のインポート時に「キャッチされない構文エラー: モジュール外のインポート ステートメントを使用できません」
milsymbol.js ライブラリを ArcGIS に組み込む場合マップ上に軍事シンボルを表示する JSAPI プロジェクトでは、「Uncaught」のようなエラーが発生する場合があります。 SyntaxError: Cannot use import stateOutside a module" または "Uncaught ReferenceError: ms is not generated."
エラーについて
最初のエラー、「Uncaught SyntaxError:モジュールの外では import ステートメントを使用できません」は、インポート構文がモジュール コンテキストの外ではサポートされていないことを示します。これを解決するには、milsymbol.js をロードするスクリプト要素に type="module" を追加する必要があります。
2 番目のエラー「Uncaught ReferenceError: ms is not generated」は、ms 変数が定義されていないために発生します。インポート構文を使用します。これは、import ステートメントがモジュールのデフォルトのエクスポートに解決されるためです。 milsymbol.js では、デフォルトのエクスポートは { ms } であるため、そのようにインポートする必要があります。
エラーの修正
<script type="module" src="milsymbol-2.0.0/src/milsymbol.js"></script>
import { ms } from 'milsymbol-2.0.0/src/milsymbol.js';
公式ドキュメントを理解する
Spatial Illusions の公式ドキュメントでは、 script 要素に type="module" がないことに気づくかもしれません。これは、このドキュメントが Webpack や Rollup などのバンドラーを使用してコードをバンドルするユーザーを対象としているためです。バンドラーを使用する場合、バンドラーがモジュールの解決を自動的に処理するため、type="module" は必要ありません。
結論
上記の手順に従うことで、 ECMAScript 6 モジュールを ArcGIS JSAPI プロジェクトにインポートするときに発生したエラーを解決できます。 require 構文と import 構文を組み合わせて使用する必要がある場合は、必ずバンドラーの使用を検討してください。
以上がmilsymbol.js を ArcGIS JSAPI にインポートすると、「Uncaught SyntaxError: Cannot use importstatementOutside a module」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。