2

我已经阅读并完成了这个这个这个帖子中的步骤!

仍然不能使用 Asp.net Bundles!

Global.asax.cs

BundleConfig.RegisterBundles(BundleTable.Bundles, Server);

和 ...

public static void RegisterBundles(BundleCollection bundles, HttpServerUtility server)
{
    bundles.IgnoreList.Clear();
    AddDefaultIgnorePatterns(bundles.IgnoreList);
    ...

    var scriptBundle = new ScriptBundle("~/Scripts")
        .IncludeDirectory("~/Scripts", "*.js");
    bundles.Add(scriptBundle); 

忽略列表

private static void AddDefaultIgnorePatterns(IgnoreList ignoreList)
{
    ignoreList.Ignore("*.intellisense.js", OptimizationMode.Always);
    ignoreList.Ignore("*-vsdoc.js", OptimizationMode.Always);
    ignoreList.Ignore("*.debug.js", OptimizationMode.Always);

    ignoreList.Ignore("underscore.js", OptimizationMode.Always);
    ignoreList.Ignore("moment.js", OptimizationMode.Always);
    ignoreList.Ignore("jquery-{version}.js", OptimizationMode.Always);
}

不过,像这样jquery.pnotify.min.js的文件不会被渲染!

套餐

WebGrease 1.3.0 Microsoft.AspNet.Web.Optimi... 1.1.0-Beta1

4

4 回答 4

4

好的!我想到了!在成员中环顾了一下后BundleTable.Bundles发现DirectoryFilter显然您也必须Clear()这样做!

所以bundles.IgnoreList.Clear();还不够(过去是),现在你也必须这样做bundles.DirectoryFilter.Clear();

它对我有用,我希望有帮助。

于 2013-11-26T14:37:31.170 回答
0

在 Application_Start 中:

BundleConfig.RegisterBundles(BundleTable.Bundles);
BundleTable.EnableOptimizations = true;
于 2014-03-10T17:37:03.750 回答
0

我会冒险猜测并说您正在Debug模式而不是Release模式下运行您的应用程序。在Debug模式.min文件被忽略,它呈现未缩小的脚本以帮助使调试更容易。

于 2013-05-07T12:17:16.743 回答
0

默认情况下,捆绑程序将忽略扩展名为 .min 的文件。最小文件是预先缩小的,最好让优化器自己缩小文件。您应该将 jquery.pnotify.js 放在目录中,然后它就可以正常工作,在调试时提供非缩小、非捆绑版本,在发布时提供缩小和捆绑版本。

但是,您可以通过bundles.IgnoreList.Clear();和清除默认的 IgnoreList 和 DirectoryFiler 来覆盖默认值(尽管我建议您不要这样做)bundles.DirectoryFilter.Clear();

于 2014-01-29T18:22:02.943 回答