When building applications with the ArcGIS Maps SDK for JavaScript components, there are multiple options, each with their own advantages depending on your specific goals and requirements. For a small project, the ArcGIS Content Delivery Network (CDN) might be the best approach to get started. For larger or complex applications built with a modern JavaScript framework or build tool, taking the ESM approach is the best practice.

AMD via ArcGIS CDN (HTML script tags)

This approach involves using the JavaScript Maps SDK components directly from the ArcGIS CDN. It is a straightforward way to include the SDK's capabilities in your application without needing to install any packages locally. This is ideal for simple applications, quick prototyping, or when you want to leverage optimized cloud caching for faster module downloads.

ESM via npm

If you're building a more complex application, especially within modern build tools or JavaScript frameworks like React, Vue, or Angular, then it is recommended to install the JavaScript Maps SDK components via npm. This allows you to manage any packages as a dependency in your project, take advantage of npm's package management capabilities, and integrate more seamlessly with modern build tools. Modern build tools provide a scalable approach to building larger or complex applications.


Each component package is designed to be framework-agnostic, meaning they are compatible with most JavaScript frameworks or no framework at all. However, to make the components feel familiar to use within specific frameworks, additional packages are available that provide a more tailored experience for React and Angular developers. In the case of @arcgis/map-components, @arcgis/map-components-react and @arcgis/map-components-angular are available as npm packages.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.