On a Single Page Application we are building, we use the ArcGIS API for JavaScript. This API allows us to bring the power of the ArcGIS GIS functionality into our client application. The ArcGIS API for JavaScript is build on top of the popular Dojo toolkit. This means that we had to integrate Dojo inside our application.
So we added a Dojo config file to our application:
However when we ran the application and tried to load a Dojo module, it failed with the following error message:
Esri.request is undefined
It took us some time to figure out that the issue was related to one specific setting inside our DojoConfig; the async setting. If async
is set to true, injected modules will be loaded when require
is called. If async
is not set, these modules are loaded immediately when dojo.js
is loaded.
So to fix it, we updated the Dojo config to: