在 IIS 上 运行 时,dojoConfig 找不到脚本资产
dojoConfig can't find script assets when running on IIS
我有以下简化的项目结构
|
|-app.js
|-components
| |
| |-someModule.js
我的 dojoConfig 如下所示:
dojoConfig = {
async: true,
tlmSiblingOfDojo: false,
packages: [{
name: "components",
location: '/components'
}],
cacheBust: true
};
我正在像这样加载这些文件:
define(["esri/geometry/webMercatorUtils",
"esri/map",
"components/CoordinateTransutils",
"components/SettingsManager"
],
function(WebMercatorUtils, Map, CoordinateTransUtils, SettingsManager) {
}
);
在本地,我正在使用节点 http-server
进行开发,它工作正常。部署在 IIS 上,但我收到如下所示的错误:
Failed to load resource: the server responded with a status of 404 (Not Found)
init.js:41 Error: scriptError
at d (init.js:15)
at HTMLScriptElement.<anonymous> (init.js:40)
(anonymous) @ init.js:41
init.js:41 src: dojoLoader
init.js:41 info: Array(2)0: "/components/CoordinateTransUtils.js?1496989376094"1: Eventlength: 2__proto__: Array(0)
手头的问题是:为什么它可以在本地开发服务器上运行,但不能在 IIS 上运行?
我用的是这样的:
var dojoConfig = (function () {
var base = location.href.split("/");
base.pop();
base = base.join("/");
return {
async: true,
isDebug: true,
packages: [{
name: "components",
location: base + "/components"
}]
};
})();
它在本地和 IIS 服务器上都可以正常工作。
我有以下简化的项目结构
|
|-app.js
|-components
| |
| |-someModule.js
我的 dojoConfig 如下所示:
dojoConfig = {
async: true,
tlmSiblingOfDojo: false,
packages: [{
name: "components",
location: '/components'
}],
cacheBust: true
};
我正在像这样加载这些文件:
define(["esri/geometry/webMercatorUtils",
"esri/map",
"components/CoordinateTransutils",
"components/SettingsManager"
],
function(WebMercatorUtils, Map, CoordinateTransUtils, SettingsManager) {
}
);
在本地,我正在使用节点 http-server
进行开发,它工作正常。部署在 IIS 上,但我收到如下所示的错误:
Failed to load resource: the server responded with a status of 404 (Not Found)
init.js:41 Error: scriptError
at d (init.js:15)
at HTMLScriptElement.<anonymous> (init.js:40)
(anonymous) @ init.js:41
init.js:41 src: dojoLoader
init.js:41 info: Array(2)0: "/components/CoordinateTransUtils.js?1496989376094"1: Eventlength: 2__proto__: Array(0)
手头的问题是:为什么它可以在本地开发服务器上运行,但不能在 IIS 上运行?
我用的是这样的:
var dojoConfig = (function () {
var base = location.href.split("/");
base.pop();
base = base.join("/");
return {
async: true,
isDebug: true,
packages: [{
name: "components",
location: base + "/components"
}]
};
})();
它在本地和 IIS 服务器上都可以正常工作。