所以我正在尝试使用基于John Papa的PlurarlSight Code Camper教程的RequireJs设置,但我似乎仍然无法正确使用。
我的bootstrapper.run()永远不会被调用,因为bs总是未定义的
_Layout.cshtml
@Scripts.Render("~/Scripts/kendo/2012.3.1114/jquery.min.js")
@Scripts.Render("~/Scripts/kendo/2012.3.1114/kendo.web.min.js")
@Scripts.Render("~/Scripts/libs/knockout-2.2.1.js")
@Scripts.Render("~/Scripts/libs/toastr-1.1.5.js")
@Scripts.Render("~/Scripts/libs/require.js")
脚本/ main.js
(function() {
var root = this;
requirejs.config({
baseUrl: 'Scripts/libs',
paths: {
app: '../app'
}
});
Define3rdPartyModules();
LoadPluginsAndBoot();
function Define3rdPartyModules() {
//Load things such as jquery, ko, Kendo, toastr etc here
define('jquery', [], function () { return root.jQuery; });
define('knockout', [], function () { return root.ko; });
define('toastr', [], function () { return root.toastr; });
define('kendo', [], function() { return root.kendo; });
}
function LoadPluginsAndBoot() {
//Load self create plugins and extensions here
requirejs(['app/ko-bindingHandlers', 'app/ko-kendo'], Boot);
}
function Boot() {
require(['app/bootstrapper'],
function (bs) {
bs.run();
});
}
})();
脚本/应用/ bootstrapper.js
define('bootstrapper',
[],
function () {
var run = function () {
alert('we ran this');
};
return { run: run };
});
bootstrapper.js出现在我的开发控制台窗口中,但bs未定义。
此外,我正在尝试使用Ryan Niemeyer创建的ko-kendo扩展,我发现它内置了requirejs检查,所以我应该在我的_Layout.cshtml中定义它还是保留它在哪里?