7 votos

Cómo hacer referencia a ArcGIS Server API de JS utilizar RequireJS

Al utilizar RequireJS para cargar una biblioteca de JavaScript desde un CDN, un ejemplo se muestra la sintaxis en https://github.com/requirejs/example-jquery-cdn:

requirejs.config({
    "paths": {
      "jquery": "//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min"
    }
});

Cómo debe ser la de ArcGIS Server API de JS se hace referencia? La página en https://developers.arcgis.com/javascript/ da la sintaxis de una página web estándar:

<script src="http://js.arcgis.com/3.12/"></script>

pero al utilizar RequireJS:

requirejs.config({
    'paths': {
      'arcgis': '//js.arcgis.com/3.12/'
    }
});

esto devuelve NetworkError: 404 No Encontrado http://js.arcgis.com/3.12/.js

¿Cuál es la sintaxis correcta para hacer referencia al Servidor de ArcGIS API de JS al utilizar RequireJS?

7voto

spiv Puntos 1488

Puede hacer esto

requirejs.config({
  'paths': {
    'esri': 'http://js.arcgis.com/3.12/esri',
    'dojo': 'http://js.arcgis.com/3.12/dojo',
    'dojox': 'http://js.arcgis.com/3.12/dojox',
    'dijit': 'http://js.arcgis.com/3.12/dijit'
  }
});

A continuación, requieren de sus módulos en AMD estilo como este

require(["esri/dijit/BasemapGallery", 
         "dojo/dom", 
         "dijit/form/Button", 
         "dojox/grid/DataGrid"], 
         function(BasemapGallery, dom, Button, DataGrid){
});

0voto

RMorrisey Puntos 138

En realidad me enteré de que cuando me carga API de ArcGIS para mi HTML, a continuación, puedo usar require como requireJS (pero con '.js' al final)

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <!--The viewport meta tag is used to improve the presentation and behavior of the samples 
          on iOS devices-->
        <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no">
        <link rel="stylesheet" href="http://js.arcgis.com/3.14/esri/css/esri.css">
        <link rel="stylesheet" href="css/custom_style.css">
        <script src="http://js.arcgis.com/3.14/"></script>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
        <script src="app.js"></script>
        <script>
require([
    'dojo/parser',
    'test.js',
    'dijit/layout/BorderContainer', 'dijit/layout/ContentPane',
    'dojo/domReady!'
], function(parser){
    parser.parse();
        ...
});
        </script>
    </head>
    <body class="claro">
        ...
    </body>
</html>

Y test.js es un archivo javascript que tengo en mi localhost y la ejecuta.

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