ホームページ >ウェブフロントエンド >jsチュートリアル >milsymbol.js を ArcGIS JSAPI にインポートすると、「Uncaught SyntaxError: Cannot use importstatementOutside a module」というメッセージが表示されるのはなぜですか?

milsymbol.js を ArcGIS JSAPI にインポートすると、「Uncaught SyntaxError: Cannot use importstatementOutside a module」というメッセージが表示されるのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-25 21:02:17456ブラウズ

Why Am I Getting

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 } であるため、そのようにインポートする必要があります。

エラーの修正

  1. Add type= module" を script 要素に追加します。 milsymbol.js:
<script type="module" src="milsymbol-2.0.0/src/milsymbol.js"></script>
  1. メイン スクリプトに ms 変数をインポートします:
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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。