【问题标题】:MVC 4 Minification does not work properlyMVC 4 缩小无法正常工作
【发布时间】:2026-02-19 02:25:01
【问题描述】:

使用此源代码,文件的缩小不起作用。如果我删除不会缩小文件的BundleTable.EnableOptimizations = true; 行,它会起作用。

总体而言,由于脚本、CSS 和 LESS 文件在 EnableOptimization 设置为 false 时正确加载,因此捆绑工作正常。我不明白为什么它不起作用。下面是我捆绑 CSS、Javascript 和 LESS 文件的代码。

var defaultCss = new StyleBundle("~/bundles/css")
    .Include("~/Static/css/bootstrap.css",
             "~/Static/css/bootstrap-responsive.css",
             "~/Static/css/media.css",
             "~/Static/css/style.css",
             "~/Static/css/editmode.css",
             "~/Static/less/framework.less",
             "~/Static/less/navigation.less",
             "~/Static/less/variables.less");

defaultCss.Transforms.Add(new LessMinify());
defaultCss.Transforms.Add(new CssMinify());
bundles.Add(defaultCss);

var defaultJss = new ScriptBundle("~/bundles/js")
    .Include("~/Static/js/jquery.js",
             "~/Static/js/bootstrap.js",
             "~/Static/js/site.js",
             "~/Static/js/modernizr.js");

defaultJss.Transforms.Add(new JsMinify());
bundles.Add(defaultJss);
BundleTable.EnableOptimizations = true;

【问题讨论】:

    标签: asp.net-mvc-4 twitter-bootstrap bundling-and-minification


    【解决方案1】:

    如果列表中的某个文件丢失或存在语法错误,则不会生成捆绑包。我想!

    也许您的 site.js 缺少逗号或类似的东西。你为什么不试着把它移到modernizr下面呢?

    【讨论】:

    • 代码正在生成,也没有语法错误。我重新检查了所有文件 3 次。(页面源并单击了 css 和 js 的代码)所有文件都在那里。感谢您的回答
    【解决方案2】:

    我实际上两次引用了相同的脚本,因此我的页面 css 受到干扰。删除了重复的引用,它现在可以工作了。

    【讨论】: