5

我正在使用 Arcgis Javascript API。API 建立在 dojo 工具包之上。所以我需要在 API 中使用 dojo 功能。我正在准备 dojo 配置文件如下。

var pathRegex = new RegExp("/\/[^\/]+$/");
var locationPath = location.pathname.replace(pathRegex, '');

var dojoConfig = {
    async: true,
    parseOnLoad: false,
    baseUrl:"js/",
    packages: [
    {
        name: "application",
        location: locationPath + '/js/application'
    }]    
};

我创建了一个 bootstrapper.js,如下所示。

require(["application/main", "dojo/domReady!"], function (application) {
    console.log("bootstrapper is running");

    application.Run();
})

index.html 文件是这样的。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Arcgis Javacsript API Samples</title>

        <link rel="stylesheet" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.5/js/dojo/dijit/themes/claro/claro.css">
        <link rel="stylesheet" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.5/js/esri/css/esri.css">
    </head>

    <body class="claro">
        <div id="map"></div>

        <script src="//js.arcgis.com/3.6/"></script>
        <script src="js/application/djConfig.js"></script>
        <script src="js/application/bootstrapper.js"></script>
    </body>
</html>

我的应用程序托管在 IIS 上,并且有这样的地址 htp://domain/Demo/Sample1/index.html

当我运行应用程序时,此代码给出如下错误。

“网络错误:404 未找到 - http://js.arcgis.com/3.6/js/dojo/application/main.js 在此处输入图像描述

如果我将 bootstrapper.js 文件设置如下,问题就解决了。

require(["js/application/main.js", "dojo/domReady!"], function (application) {
    console.log("bootstrapper is running");

    application.Run();
})

在此处输入图像描述

4

1 回答 1

5

尝试更改 index.html 文件中的脚本顺序。您的配置设置应在 CDN 之前加载。

    <div id="map"></div>

    <script src="js/application/djConfig.js"></script>
    <script src="//js.arcgis.com/3.6/"></script>
    <script src="js/application/bootstrapper.js"></script>
</body>
于 2013-09-10T11:38:53.110 回答