(Dojo 1.10)dojoLoader返回的URL似乎错误/不一致,如何正确配置?

(Dojo 1.10)dojoLoader返回的URL似乎错误/不一致,如何正确配置?,dojo,Dojo,我们最近用签名证书更新了服务器,并将基本URL从更改为。这破坏了Dojo中的模块加载,我似乎无法纠正它。当前配置如下所示: var dojoConfig = { async: true, packages: [ { name: "js", location: location.pathname.replace(/\/[^/]+$/, "") + 'Scripts'

我们最近用签名证书更新了服务器,并将基本URL从更改为。这破坏了Dojo中的模块加载,我似乎无法纠正它。当前配置如下所示:

var dojoConfig = {
        async: true,
        packages: [
            {
                name: "js",
                location: location.pathname.replace(/\/[^/]+$/, "") + 'Scripts'
            },
            {
                name: "widgets",
                location: location.pathname.replace(/\/[^/]+$/, "") + 'Scripts/widgets'
            },
            {
                name: "dgrid",
                location: location.pathname.replace(/\/[^/]+$/, "") + 'Scripts/3.14/dgrid'
            },
            {
                name: "dijit",
                location: location.pathname.replace(/\/[^/]+$/, "") + 'Scripts/3.14/dijit'
            }
        ]
};
这过去是有效的,当根URL只是“localhost”时,它在我的开发机器上仍然有效。查看控制台中的错误,它似乎试图找到位于而不是的模块,我已经尝试了我能找到的一切,以将其指向正确的方向,包括设置
baseUrl:'https://servername.domain.info“
明确。我尝试过的任何东西都会产生不同的URL字符串,有时只是路径名和无基本URL,有时是路径名加协议,没有域信息,等等。作为参考,我还尝试过将服务器URL添加到每个位置的URL字符串中,我得到了相同的错误,似乎除了服务器域名中的第一个单词之外,其他所有单词都会被删除

我不确定我做错了什么,我对dojoLoader决定放弃的东西感到困惑。我已经阅读并重新阅读了文档,但就我所能找到的而言,关于如何计算基本URL的内容并不多,只是关于如何在配置中将基本URL设置为某个值的内容

编辑:根据下面的评论,我意识到需要更多的信息。我正在使用Visual Studio 2015并发布到运行IIS(v7 iirc)的Windows Server 2012 R2。看起来VisualStudio确实搞乱了URL,Dojo不是罪魁祸首。我可以通过直接在服务器上编辑文件并为每个包(及其依赖项)设置一个位置URL来解决这个问题。我仍然想知道为什么会发生这种情况,以及如何正确设置它

<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title - ProjectName</title>
<link rel="stylesheet" href="~/Content/font-awesome.min.css" />
<link rel="stylesheet" href="~/Content/jquery-ui-1.10.3.custom.css" />
<link rel="stylesheet" href="~/Scripts/3.14/esri/css/esri.css" />
<link rel="stylesheet" href="~/Content/bootstrap-datetimepicker.min.css" />
@Scripts.Render("~/bundles/modernizr")
<link rel="stylesheet" href="~/Content/map.css" />
@Styles.Render("~/Content/css")
</head>

@ViewBag.Title-项目名称
@Scripts.Render(“~/bundles/modernizer”)
@style.Render(“~/Content/css”)

location.pathname
甚至不包括主机名,因此上面的代码只会生成与主机相关的URL。它不可能在你身上切换主机名。如果指定一个完整的绝对URL,Dojo也不可能破坏主机名本身。这个故事肯定还有很多。。。你能提供Dojo加载到的完整页面吗(或者至少提供完整的
开头的
)?我认为这是对的,很高兴我没有完全疯了。我用更多的信息更新了这个问题。