MVC捆绑不起作用

kay*_*yze 4 javascript css model-view-controller bundle asp.net-mvc-4

我正在开发一个小型的mvc项目,我在BundleConfig.cs中声明了这样的包

// javascript包

bundles.Add(new ScriptBundle("~/bundles/Layout1JS").Include(
                        "~/Content/Public/js/jquery.min.js",
                        "~/Content/Public/js/bootstrap.min.js",
                        "~/Content/Public/js/jquery.isotope.min.js",
                        "~/Content/Public/js/jquery.Photo.js",
                        "~/Content/Public/js/easing.js",
                        "~/Content/Public/js/jquery.lazyload.js",
                        "~/Content/Public/js/jquery.ui.totop.js",
                        "~/Content/Public/js/nav.js",
                        "~/Content/Public/js/sender.js",
                        "~/Content/Public/js/jquery.slider-min.js",
                        "~/Content/Public/js/custom.js"));


//css bundle
bundles.Add(new StyleBundle("~/Content/Public/css").Include(
                        "~/Content/Public/css/main.css"));
Run Code Online (Sandbox Code Playgroud)

在我的头部分的_Layout.cshml中输入了:

<head>
    <meta charset="utf-8">
    <title>test</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="">

    <!-- LOAD CSS FILES -->
    @Styles.Render("~/Content/Public/css", "~/Content/css")

    <!-- LOAD JS FILES -->


    @Scripts.Render("~/bundles/Layout1JS")

</head>
Run Code Online (Sandbox Code Playgroud)

在我的application_start中我有:

BundleTable.EnableOptimizations = true; 
Run Code Online (Sandbox Code Playgroud)

和web.config

<compilation debug="true" targetFramework="4.0">
Run Code Online (Sandbox Code Playgroud)

这让我有点头疼,试图弄清楚为什么捆绑不是专门为javascript工作.有人请指教

Tom*_*mmy 8

由于这一行,捆绑无法正常工作

<compilation debug="true" targetFramework="4.0">
Run Code Online (Sandbox Code Playgroud)

在调试时,捆绑包不会因为"调试"而压缩或缩小,并且在调试时能够看到实际的JavaScript和CSS是一件好事.当您将debug设置为false(或从标记中删除)时,您的应用程序将以发布模式运行.捆绑将在那时发生(除非你设置BundleTable.EnableOptimizations = false;)

<compilation debug="false" targetFramework="4.0">
Run Code Online (Sandbox Code Playgroud)

要么

<compilation targetFramework="4.0">
Run Code Online (Sandbox Code Playgroud)

正如Mike在下面指出的那样,BundleTable.EnableOptimizations = true;应该覆盖web.config设置.但是,在项目未覆盖该设置的情况下,退出调试模式仍然是好的.

  • FWIW我在调试环境中设置`BundleTable.EnableOptimizations = true;`时从未遇到过问题.无论如何,它总是被设置为捆绑/缩小. (2认同)