我有一个简单的HTML页面,它试图访问远程和本地JavaScript文件:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8" />
<script src="https://js.arcgis.com/3.19/"></script>
<script src="SearchExtent.js"></script>
<script>
require([
...
SearchExtent.js 存储在与HTML页面相同的文件夹中。
在Chrome和Edge中调试HTML页面时,会出现404错误,表示找不到以下资源:
https://js.arcgis.com/3.19/SearchExtent.js
为什么浏览器会查看远程服务而不是本地文件系统&gt;
答案 0 :(得分:0)
必须正确配置Dojo才能同时使用本地和CDN源。以下是从CDN和本地服务器正确加载内容的代码:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8" />
<link rel="stylesheet" href="https://js.arcgis.com/3.19/esri/css/esri.css">
<script>
var dojoConfig = {
paths: { js: location.pathname.replace(/\/[^/]+$/, "") + "/js" }
};
</script>
<script src="https://js.arcgis.com/3.19"></script>
<script>
require([
"js/SearchExtent",
"dojo/domReady!"
], function (SearchExtent) {
console.log("...");
});
</script>
</head>
<body>
</body>
</html>
dojoConfig的路径属性用于指定&#34; js&#34;的位置。本地服务器上的别名。另请注意,没有对自定义JavaScript模块的显式引用。对 require 的调用使用 paths 属性中定义的别名引用自定义模块。