5 votos

¿Por qué debería usar la desaceleración del estilo de AMD en la API de ArcGIS JS?

Me parece así:

 var point;
require(['esri/geometry/Point'], function(Point) {
    point = new Point();
}
 

hace lo mismo que:

 var point = new esri.geometry.Point();
 

¿Hay alguna razón para optar por constructores cargados de AMD?

9voto

Daniel Broekman Puntos 1951

Son funcionalmente equivalentes. La diferencia es que requieren() carga los módulos con AMD , mientras que el segundo ejemplo se utiliza una clase de una variable global poblada por Dojo módulo del cargador en modo de legado. Técnicamente, usted debe tener para usar dojo.("esri.geomtry.Punto") para el segundo ejemplo para el trabajo, pero debido a que el módulo que define que clase se incluye en la construcción de la versión de la API de nosotros (Esri) proporcionar, y está disponible a través de la global de esri objeto, el código de trabajo.

El enfoque recomendado es el uso de require(). Cuando Dojo va a la 2.0, el legado cargador de ser eliminado, y la única forma de carga de los módulos se requieren(). Una vez que el esri api de js es el uso de Dojo 2.0, no habrá un global de esri objeto por defecto, de modo que todo el código de referencia de las clases de que el mundial se va a romper.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X