Я надеюсь, что этот вопрос не слишком широк, но в этом конкретном примере require.js/ESRI присутствует много незнакомого синтаксиса, и я надеюсь, что кто-то может объяснить мне некоторые из этого.
Во-первых, этот код работает (то есть, он делает то, что я ожидаю от него): он создает базовую карту и добавляет FeatureLayer, извлеченный из службы карт. Это урезанная версия примера из страницы API Javascript ESRI. Здесь код:
var map;
var featureLayer;
require(["esri/map", "dojo/domReady!", "esri/layers/FeatureLayer"], function (Map) {
map = new Map("map", {
basemap: "topo",
center: [-100.195, 39.567], // long, lat
zoom: 4
});
featureLayer = new esri.layers.FeatureLayer(
"http://my-server-url.com/arcgis/rest/services/Projects/MapServer/0",
{
mode: esri.layers.FeatureLayer.MODE_ONDEMAND
}
);
map.addLayer(featureLayer);
});
Теперь для конкретных вопросов:
-
Для чего требуется ([...], function (args) {} синтаксис? Я даже не знаю, как это прочитать. Является ли это вызовом функции require.js? квадратные скобки? Каковы аргументы функции?
-
Из других примеров, похоже, обычно должен быть один аргумент функции для каждого из них в вызове require.js. Но здесь, если я добавлю аргумент для FeatureLayer, это не сработает.
-
"dojo/domReady!" include, похоже, никогда не имеет соответствующего аргумента в любом примере. Связано ли это с восклицательным знаком? Что означает восклицательный знак?
-
Может ли кто-нибудь указать мне ПОЛЕЗНУЮ ссылку require.js? Сайт requirejs.org читает больше как техническую спецификацию, чем руководство пользователя. И веб-сайт ESRI, кажется, предполагает, что вы знаете, как его использовать.
И да, я был Googling - проблема в том, что Google не очень разбирается в вопросе о синтаксисе компьютера, так как он разделяет пунктуацию, и потому что "требуется синтаксис javascript" и т.п. сделать для crappy (over-wide) поисковые запросы.