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 がこれらのファイルを処理する方法に関連して何か間違ったことをしていると思いますが、何が原因かわかりません。ソースを表示すると、期待するすべてのコード行がレンダリングされており、エラーは発生しません。ご意見やご提案をいただければ幸いです。
ありがとう、
アンドリュー