3

当我寻找 javascript 模块化应用程序时,我发现了 Requirejs javascript 库。这个库使 js 应用程序模块化。我正在研究Arcgis Javascript API。在这个 API 中,您可以使用 dojo 和 Requirejs 功能。例如:

require(["esri/map", "esri/layers/FeatureLayer"], function(Map, FeatureLayer) {
        map = new Map("mapDiv", {
          basemap: "streets",
          center: [-80.94, 33.646],
          zoom: 8,
          slider: false
        });

require() 和 define() 方法在Requirejs库中使用。但同时在 Arcgis API 中使用。Dojo API 也在使用。

但是当我在同一个 html 文件中添加脚本时,Requirejs 代码不起作用。

<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=3.2"></script>
<script data-main="js/main.js" src="js/require.js"></script>

我无法将 requirejs 和其他 API 分开。Arcgis API 和 Dojo 本身是否包含 Requirejs?

4

2 回答 2

3

Dojo 使用相同的 AMD语法来加载脚本,但使用不同的语法来配置和引导。因此,如果您使用 dojo,则需要切换到 dojo 语法。

于 2013-09-06T13:43:00.053 回答
0

requirejs 库需要一个入口点来强制执行模块化加载。您不能在该行之前使用其他脚本标签:

<script data-main="js/main.js" src="js/require.js"></script>
于 2013-12-27T16:09:58.593 回答