我遇到了错误的角度JS错误:[ng:areq]参数'MyController'不是函数,在尝试使用bundle时未定义。但是,当我明确地使用脚本标签在我的html中包含应用程序时,它可以工作。 Bundle Config.cs
bundles.Add(new ScriptBundle("~/bundles/myweb")
.IncludeDirectory("~/Scripts/myweb", "*.js")
.IncludeDirectory("~/Scripts/myweb/Controllers", "*.js")
.Include("~/Scripts/myweb/Controllers/myController.js")
.Include("~/Scripts/myweb/myweb.js"));
使用此HTML不起作用:
<script src="~/Scripts/angular.js"></script>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/myweb")
这个HTML确实有效,但我不确定为什么我必须明确包含myApp.js,因为它已经包含在捆绑包中(当我从F12查看捆绑包时 - Google Chrome上的开发人员工具它已经包含了预期的代码):
<script src="~/Scripts/angular.js"></script>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/myweb")
<script src="~/Scripts/myweb/myweb.js"></script>
注意显示的html位于_Layout.cshtml的头部。我正在使用angularJS和MVC。
答案 0 :(得分:0)
刚想出如何解决这个问题。
我基本上需要包含以下代码
<script src="~/Scripts/angular.js"></script>
@Scripts.Render("~/bundles/myweb")
_Layout.cshtml和index.cshtml中的(我只在Index.cshtml中使用过它)