我在 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 如何处理这些文件有关的事情,但我不知道是什么。当我查看源代码时,我期望的所有代码行都已呈现并且我没有收到错误。我将不胜感激任何想法或建议。
谢谢,
安德鲁