我希望这个问题不会太宽泛,但是在这个特定的 require.js/ESRI 示例中发生了很多不熟悉的语法,我希望有人可以向我解释其中的一些内容。
首先,这段代码有效(也就是说,它做了我期望它做的事情):它创建了一个基本地图并添加了一个从地图服务中提取的 FeatureLayer。它是 ESRI Javascript API 页面中示例的精简版。这是代码:
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);
});
现在针对特定问题:
这 require([...], function(args) { } 语法是做什么的?我什至不知道如何阅读。它是对 require.js 的函数调用吗?方括号中的内容是什么?什么是函数参数?
从其他示例来看,在 require.js 调用中,每个包含通常应该有一个函数参数。但是在这里,如果我为 FeatureLayer 添加一个参数,它就不起作用了。
“dojo/domReady!” 在任何示例中,include 似乎都没有相应的参数。这与感叹号有关吗?感叹号是什么意思?
谁能指出我有用的 require.js 参考?requirejs.org 网站读起来更像是技术规范,而不是用户手册。ESRI 网站似乎假设您知道如何使用 require。
是的,我一直在用谷歌搜索——问题是谷歌不擅长搜索计算机语法问题,因为它去掉了标点符号,而且因为“需要 javascript 语法”之类的东西会导致蹩脚(过于宽泛)的搜索词。