はじめに
ArcGIS Maps SDK for JavaScript では、ArcGIS Online 上にホストされているライブラリーを利用する CDN(Content Delivery Network)版と、npm(Node Package Manager)を使用してライブラリーを管理する npm 版の 2 つの利用方法が提供されています。
CDN 版ではこれまで AMD(Asynchronous Module Definition)ローダーによる require() を利用したモジュールの読み込み方法が広く利用されてきました。
ArcGIS Maps SDK for JavaScript 4.33 から、新たなモジュール読み込み方法として $arcgis.import() が導入され、モダンなモジュールの読み込みに対応しました。そして 2026 年 2 月にリリースされた ArcGIS Maps SDK for JavaScript 5.0 からは require() を利用したモジュールの読み込みが非推奨となり、将来的な削除の予定が明言されました。
本記事では、今後予定されている require() の廃止と、推奨される $arcgis.import() への移行について紹介します。
変更点
ArcGIS Maps SDK for JavaScript 4.33 では、従来の AMD ベースのモジュール読み込みを置き換える方法として $arcgis.import() が追加されました。
従来のコードでは、以下のように require() を利用してモジュールを読み込んでいました。
<script>
require([
"esri/layers/FeatureLayer",
"esri/layers/GraphicsLayer"
], (FeatureLayer, GraphicsLayer) => {
// 処理
});
</script>4.33 以降では、以下のような $arcgis.import() を利用した記述が推奨されています。
<script type=”module”>
const [FeatureLayer, GraphicsLayer] = await $arcgis.import([
"@arcgis/core/layers/FeatureLayer.js",
"@arcgis/core/layers/GraphicsLayer.js"
]);
// 処理
</script>
$arcgis.import() は Web 標準のモジュール管理に近い考え方を採用しており、今後の ArcGIS Maps SDK for JavaScript における推奨手法となります。
廃止スケジュール
require() によるモジュールの読み込みは ArcGIS Maps SDK for JavaScript 5.0 から非推奨となっています。
また、5.x 系では引き続き利用できますが、2026 年 6 月時点で公開されている情報では、2027 年 2 月のリリースを予定している バージョン 6.0 において廃止される予定(2026 年 6 月時点)とされています。
そのため、現在 require() を利用したアプリケーションを開発・保守している場合は、バージョン 6.0 へ移行するまでに $arcgis.import() へ移行する必要があります。

既存アプリケーションへの影響
今回の変更は主にモジュールの読み込み方法に関するものです。そのため、各種クラスの利用方法が大きく変わるわけではありません。
一方で、ライブラリーの読み込みやアプリケーション初期化処理については修正が必要になる場合があります。
Spoilerただし、バージョンによってはクラスの利用方法においてソースコードの大幅な変更を伴う場合があります。大幅な変更があるかについては、バージョンごとの
リリース ノートにある
Breaking changes をご確認ください。
まとめ
require() は長年利用されてきたモジュール読み込み方法ですが、今後は $arcgis.import() が標準的な実装方法となります。将来のアップグレードを円滑に進めるためにも、バージョン 4.33 以降の開発では $arcgis.import() の利用を推奨します。
参考リンク