当我从Visual Studio 2013 Durandal模板创建项目并运行项目时,它会从我的开发Web服务器中提供Durandal Starter Kit Web的工作实例。
当我将其部署到IIS Web应用程序时,它会到达启动画面,然后停止。 Fiddler透露404尝试GET /App/main.js HTTP/1.1
这显然是它停滞的原因。
这给我们带来了一个问题:大概有些设置需要引起注意,但是在什么地方和哪里?这应该是GET /c2/App/main.js HTTP/1.1
或可能是GET App/main.js HTTP/1.1
答案 0 :(得分:3)
我不知道应该是我还是项目模板的作者感到尴尬。在Index.cshtml文件中,main.js由以下行加载:
<script type="text/javascript"
src="~/Scripts/require.js"
data-main="/App/main">
</script>
真的?一个绝对的URL?
至少它很容易修复。
删除前导斜杠或向HTML添加基本标记,如下所示:
<html>
<head>
<base href="http://myserver/path/to/app/root/" />
您最好从data-main
删除前导斜杠,因为您可以将相对路径发布到任何位置。我想你也可以为基本标签指定一个相对基数,但我从来没有对它进行过测试,而且还有更多的代码。
<script type="text/javascript"
src="~/Scripts/require.js"
data-main="App/main">
</script>
答案 1 :(得分:2)
无论路线如何,这都有效。如果您使用的是ASP.NET MVC - Razor
。
data-main="@Url.Content("~/Scripts/app/main")"
假设您的文件位于 c2 / Scripts / app / main.js ,其中 c2 是您的项目文件夹。