未捕获引用错误:未定义requirejs main.js

未捕获引用错误:未定义requirejs main.js,requirejs,single-page-application,durandal,singlepage,Requirejs,Single Page Application,Durandal,Singlepage,我已尝试部署基于Durandal的解决方案。但一旦部署,我将得到以下错误 Uncaught ReferenceError: requirejs is not defined main.js:1 (anonymous function) 我研究了与项目一起部署的文件,并在解决方案/路径中包含了require。这些文件已随它们一起部署。开发副本和生产副本之间的不同之处在于,我的java脚本文件被压缩了。我的下一步是看看这是否与这个问题有任何关系 更新: 我发现问题的根源如下: <body&g

我已尝试部署基于Durandal的解决方案。但一旦部署,我将得到以下错误

Uncaught ReferenceError: requirejs is not defined main.js:1
(anonymous function)
我研究了与项目一起部署的文件,并在解决方案/路径中包含了require。这些文件已随它们一起部署。开发副本和生产副本之间的不同之处在于,我的java脚本文件被压缩了。我的下一步是看看这是否与这个问题有任何关系

更新: 我发现问题的根源如下:

<body>
    <div id="applicationHost">
        @Html.Partial("_splash")
    </div>

    @Scripts.Render("~/scripts/vendor")
    @if (HttpContext.Current.IsDebuggingEnabled)
    {
        <script type="text/javascript" src="~/App/durandal/amd/require.js" data-main="@Url.Content("~/App/main")"></script>
    }
    else
    {
        <script type="text/javascript" src="~/App/main.js"></script>
    }

</body>

@Html.Partial(“\u splash”)
@Scripts.Render(“~/Scripts/vendor”)
@if(HttpContext.Current.IsDebuggingEnabled)
{
}
其他的
{
}
如果我删除IsDebuggingEnabled复选框,只保留下面的选项,那么它就可以正常工作(显然)


就我所记得的,我还没有接触过这段代码(通过模板在初始项目设置时创建)。因此,所有这些都应该是Durandal VSX模板的原样


知道为什么在非调试部署期间删除require吗?:/Durandal 1.2附带了一个optimizer.exe(),它创建了一个优化版本
main build.js
,该版本绑定了Almond(默认)或RequireJS。上面的示例尝试加载源
main.js
,这就是抛出错误的原因

成功运行optimizer.exe后,应将代码更改为此

...
else
{
    <script type="text/javascript" src="~/App/main-built.js"></script>
}
。。。
其他的
{
}

…作为旁注。一个带有否决票的评论比随机的愤怒引发的投票更有用。我同意,没有建设性的反馈,任何人如何学习。为了补偿我投了赞成票。只是创建了一个空项目来证实我的怀疑。。。大约3/4个月前(我想)我下载了这个durandal模板(我正在使用),当时我正在尝试。我想我可能已经改变了那句话,但没有把它改回去……:/非常感谢。
...
else
{
    <script type="text/javascript" src="~/App/main-built.js"></script>
}