捆绑css文件 - 找不到文件

时间:2013-01-28 04:08:19

标签: c# javascript asp.net asp.net-mvc-4 bundling-and-minification

我正在使用BundleConfig将我的css和javascript文件捆绑在mvc 4.0项目中。 刚开始使用它,但不知怎的,我的捆绑的css文件从服务器获得404状态。 想知道是什么问题。

这是我的设置;

public class BundleConfig
{
    public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new ScriptBundle("~/CSSJSBundles/3rdpartycss").Include(
                    "~/Scripts/jquery.jnotify.css"

));         }

    BundleTable.EnableOptimizations = true;
}

我已经在我的根目录中创建了该文件夹:'CSSJSBundles'。我需要吗?或者只是虚拟文件夹mvc使用?我还需要在Global.aspx中设置任何设置吗?

我也删除了该文件夹,该捆绑的css文件仍有404错误。

2 个答案:

答案 0 :(得分:6)

  1. 如前面的答案之一所述,您需要将ScriptBundle更改为StyleBundle

  2. BundleTable.EnableOptimizations = true;不是必需的。这样做是在处于调试模式时强制捆绑和缩小。默认操作不是在调试模式下捆绑/缩小,因此您可以更轻松地进行调试。如果要在发布模式下查看输出,请使用该行。

  3. 不,您不需要该文件夹CSSJSBundles实际存在。

  4. 您似乎需要将此行添加到Application_Start()文件中的global.asax.csBundleConfig.RegisterBundles(BundleTable.Bundles);

答案 1 :(得分:5)

你必须使用 StyleBundle ...而不是ScriptBundle 因为它是一个css文件。

对于js文件,你应该使用ScriptBundle。

public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new StyleBundle("~/bundles/3rdpartycss").Include(
                        "~/Content/jquery.jnotify.css"
                        ));
        }

:)