【发布时间】:2014-06-22 03:11:46
【问题描述】:
我在 .NET 5 MVC 框架上使用带有淘汰赛的 requirejs,这就是我布置应用程序的方式。
这是我的 _Layout.cshtml 很正常
<head></head>
<body>
<div class="wrapper">
// body stuff
</div>
<script type="text/javascript" src="@Url.Action("Constants", "Configuration")"></script>
<script src="~/Scripts/vendors/requirejs/require.js" data-main="@Url.Content("~/Scripts/app/main")"></script>
@RenderSection("scripts", required: false)
</body>
然后每个需要使用 knockoutjs 的页面我都做这样的事情。
@section scripts
{
<script>
require(['app', 'viewmodels/search/search'], function (app, contentModule) {
app.render(contentModule);
});
</script>
}
这是我的app.js来激活knockoutjs
define('app', ['require'], function (localRequire) {
var app = {
render: function(module) {
localRequire(['knockout', 'zepto'], function(ko, $) {
$(document).ready(function() {
ko.cleanNode($('.wrapper')[0]);
ko.applyBindings(module, $('.wrapper')[0]);
});
});
}
};
return app;
});
一切似乎都很好,但是,有时我会收到 requirejs 无法加载淘汰赛和 zepto 的错误,我认为这与某些赛车条件有关。这种情况并非每次都发生。
GET http://localhost:91/Scripts/app/knockout.js 404 (Not Found) require.js:1895
Uncaught Error: Script error for: knockout
http://requirejs.org/docs/errors.html#scripterror require.js:166
GET http://localhost:91/Scripts/app/zepto.js 404 (Not Found) require.js:1895
Uncaught Error: Script error for: zepto
http://requirejs.org/docs/errors.html#scripterror
【问题讨论】:
标签: javascript asp.net-mvc asp.net-mvc-4 knockout.js requirejs