只有在MVC4 BundleConfig精缩脚本(Minified script only in M

2019-08-02 00:09发布

我加入的BundleConfig以下ScriptBundle:

    bundles.Add(new ScriptBundle("~/bundles/javascript").Include(
        "~/Scripts/jquery-1.*",
        "~/Scripts/load-image.min.js",
        "~/Scripts/bootstrap.*",
        "~/Scripts/bootstrap-image-gallery.*",
        "~/Scripts/my.global.js"));

这是我作为_Layout.cshtml的末尾引用:

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

调试时我发现这个脚本渲染的输出:

<script src="/Scripts/jquery-1.8.2.js"></script>
<script src="/Scripts/bootstrap.js"></script>
<script src="/Scripts/bootstrap-image-gallery.js"></script>
<script src="/Scripts/my.global.js"></script>

通知负载image.min.js脚本缺什么? 我想是使用相同的脚本缩小的是否我调试与否。 在释放条件脚本包含在捆绑的JS文件。

我以为它看到“分”,寻找一个未精缩版,没有找到一个,然后决定什么是最好的就是完全忽略它。 辉煌。 如果我做负载image.min.js的副本,称之为负载image.js然后引用它BundleConfig“负载形象。*”我觉得它是包含在这两个配置,但什么是必须的点去做?

我想我在这里失去了一些东西。 我没有未精缩版,我坦率地不关心它。 它使用我的引导图片库插件,没有别的。 任何想法了吗?

Answer 1:

此问题已在0.9.6版本中得到改善(固定)。 我们感动了所有的旧的默认的忽略列表条目到一个新的DirectoryFilter忽略包括像* .js文件这是此功能的原始意图的搜索模式时仅用于名单。 因此,这将不再是一个问题,当你明确包括个人文件。

注意:在一个地方,这可能仍然是一个问题是,如果你尝试包括像jquery- {}版本.min.js。



Answer 2:

ignoreList ,而如果你需要,你可以清除,它看起来像:

public static void AddDefaultIgnorePatterns(IgnoreList ignoreList)
{
    if (ignoreList != null)
    {
        ignoreList.Ignore("*.intellisense.js");
        ignoreList.Ignore("*-vsdoc.js");
        ignoreList.Ignore("*.debug.js", OptimizationMode.WhenEnabled);
        ignoreList.Ignore("*.min.js", OptimizationMode.WhenDisabled);
        ignoreList.Ignore("*.min.css", OptimizationMode.WhenDisabled);
        return;
    }
    else
    {
        throw new ArgumentNullException("ignoreList");
    }
}

更多细节: ASP.NET捆绑和微小的高级选项



文章来源: Minified script only in MVC4 BundleConfig