dojo 如何找到这些JS文件的调用者?

i2byvkas  于 2022-12-08  发布在  Dojo
关注(0)|答案(2)|浏览(162)

我有一个名为index.html的文件,它应该通过执行以下行来显示Map:Controller.startup(notauth);。我已经确保了逻辑来到这一行。不知何故,Map不会出现,我发现在Chrome调试器中,有一些调用错误的JS脚本路径。
这里我包括了我的index.html中的一些行:

<script type="text/javascript">
        var dojoConfig = {
            async: true,
            packages: [{
                name: 'viewer',
                location: location.pathname.replace(/[^\/]+$/, '') + 'js/viewer'
            },{
                name: 'config',
                location: location.pathname.replace(/[^\/]+$/, '') + 'js/config'
            },{
                name: 'gis',
                location: location.pathname.replace(/[^\/]+$/, '') + 'js/gis'
            }]
        };

    </script>

            <script type="text/javascript" src="http://10.255.1.77/sonar/arcgis_js_api/library/3.15/3.15/init.js"></script>
            <script type="text/javascript">             
            //Get app ID from url 
            var file = 'config/viewer', s = window.location.search, q = s.match(/config=([^&]*)/i);
            //alert ('var file ORI (config/viewer) : ' + file);
            //alert ('nilainya Q : ' + q);
            if (q && q.length > 0) {
                file = q[1];
                //alert ('Q1 : ' + file);
                //alert ('S : ' + s);
                if(file.indexOf('/') < 0) {
                        configfile = 'config/' + file;
                }
                //alert ('CONFIG-FILE : ' + configfile);
            }

if (configfile == 'config/all') 
            {

                //alert ('config == ALL');
                //alert ('configfile is ' + configfile + ' -- strpathfile  : ' + strpathfile);

                if (ImgStatus && checkfileimg_js(strpathfile)) {
                    require(['viewer/Controller', configfile + '_imagery'], function(Controller, config){
                    Controller.startup(config);
                    });
                    }
                    else 
                    {
                    alert ('controller.startup(notauth) Hellow NOAUTH ');
                    require(['viewer/Controller', 'config/all'], function(Controller, notauth)
                        {
                        Controller.startup(notauth);
                        });
                    }   
            }               
                else    //IF configfile <> ALL (env,pims,clear dll)

            { 
                Controller.startup(auth);
            }

当我在Chrome中调试它时,我得到了以下结果:结果1:https://snag.gy/g37joA.jpg-结果1:https://snag.gy/aBMren.jpg
正确的路径应该是“http://10.255.1.77/sonar/arcgis_js_api/library/3.15/3.15/dijit/TitlePane.js“,而不是http://10.255.1.77/sonar/arcgis_js_api/library/3.15/dijit/TitlePane.js
这些JS是从哪里来的?我在index.html中找不到它们被调用。我在哪里以及如何找到调用这些JS脚本的行?
请帮帮忙

8hhllhi2

8hhllhi21#

您可以在Chrome开发工具,选项卡Network,列Initiator中找到此信息:

jdzmm42g

jdzmm42g2#

您必须在init.jsdojo.js中正确配置HOSTNAME_AND_PATH_TO_JSAPI(在esri js api内),
init.js和中应如下所示:
http://10.255.1.77/sonar/arcgis_js_api/library/3.15/3.15/
那些JS是从哪里来的?
脚本异步加载(请参阅Modern dojo AMD

require(['viewer/Controller'], function(controller)) ...

这将搜索查看器(取决于在顶部创建配置dojo)your_app_url/js/viewer/Controller.js,并将其加载到脚本中并注册,
同时,你控制器内的每一个请求者都将异步地加载脚本,这个现代的AMD将防止导入未使用的模块(模块化加载)。

相关问题