捆绑的脚本无法正确呈现

时间:2016-07-01 19:22:18

标签: asp.net bundling-and-minification

我正在使用ASP.NET MVC,但我遇到了捆绑问题。

以下是我的BundleConfig.cs

的内容
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
    "~/bower_components/jquery/dist/jquery.js"
));

bundles.Add(new ScriptBundle("~/bundles/jquery-ui").Include(
    "~/bower_components/jquery-ui/ui/core.js",
    "~/bower_components/jquery-ui/ui/widget.js",
    "~/bower_components/jquery-ui/ui/position.js",
    "~/bower_components/jquery-ui/ui/menu.js",
    "~/bower_components/jquery-ui/ui/autocomplete.js"
));

bundles.Add(new ScriptBundle("~/bundles/mondernizr").Include(
    "~/Scripts/modernizr-*"
));

bundles.Add(new StyleBundle("~/Content/css").Include(
    "~/bower_components/bootstrap/dist/css/bootstrap.css",
    "~/Content/PagesList.css",
    "~/Content/Site.css",
    "~/bower_components/font-awesome/css/font-awesome.css"
));

这是我的_Layout html中我想在头部渲染脚本和css的区域。

@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/jquery", "~/bundles/jquery-ui")
@Scripts.Render("~/bundles/modernizr")

据我所知,我只需要使用与我在bundle中指定的相同的相对路径来输出脚本/链接标记的完整列表或捆绑版本。相反,我得到以下没有任何版本控制字符串在我期待的结尾。

<link href="/Content/css" rel="stylesheet"/>
<script src="/bundles/jquery"></script>
<script src="/bundles/jquery-ui"></script>
<script src="/bundles/modernizr"></script>

无论我将BundleTable.EnableOptimizations设置为true还是false,都会发生这种情况。

1 个答案:

答案 0 :(得分:0)

我正在关注使用bower和捆绑here的教程,以及来自microsoft的教程here。在这两个教程中没有解释的是,必须在Global.asax.cs文件的Application_Start中调用该类,其中包含以下内容:

BundleConfig.RegisterBundles(BundleTable.Bundles);

我的配置中也有拼错的modernizr作为mondernizr。