我在一个ASP.NET站点上使用require.js,一切正常。现在我正试图在MVC网站上做这件事我似乎无法让它运作起来。我的_layout.cshtml文件如下:
<!DOCTYPE html>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
@Styles.Render("~/Content/css")
@Styles.Render("~/Content/themes/base/css")
@Styles.Render("~/Content/bootstrap")
@Styles.Render("~/Content/toastr")
@Styles.Render("~/Content/fontawesome")
@Styles.Render("~/Content/percentage")
@Scripts.Render("~/bundles/modernizr")
</head>
<body style="background-image: url('/Content/images/background.png')">
...abbreviated...
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/jqueryui")
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/toastr")
@Scripts.Render("~/bundles/knockout")
@Scripts.Render("~/bundles/require")
@Scripts.Render("~/bundles/percentage")
@Scripts.Render("~/bundles/placeholder")
@RenderBody()
@RenderSection("scripts", required: false)
</body>
然后我有一个index.cshtml文件:
@{
ViewBag.Title = "Hobby Matrix -- Home";
}
@section scripts{
<script src="/Scripts/require.js" data-main="/Scripts/helpers/home"></script>
}
和我的home.js文件是这样的:
define([], function () {
$(document).ready(function () {
alert('here');
});
})
但出于某种原因,当我转到该视图(index.cshtml)时,我的警报永远不会被调用。很明显,我认为我做错了与MVC如何处理这些文件有关,但我无法弄清楚是什么。当我查看源代码时,我期望的所有代码行都已呈现,并且我没有得到任何错误。我很感激任何想法或建议。
谢谢,
安德鲁