为什么默认的MVC 4项目包含缩小的文件?

时间:2013-07-23 09:28:49

标签: asp.net-mvc-4 bundle minify

我试图了解MVC 4中的捆绑包。从我读过的内容中,您只需将其指向一个脚本或一堆脚本,给它起一个名字,然后将它们捆绑起来。如果你没有进行调试,它也会缩小它们。

示例代码:

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
            "~/Scripts/jquery-{version}.js"));

如果它是动态完成的,为什么项目每个脚本都有.min.js个文件?缩小过程实际上只是加载.min.js而不是自己缩小它吗?

1 个答案:

答案 0 :(得分:1)

如果在调试模式下运行,则包含.debug.js文件。如果在发布模式下运行,则包含.min.js文件。如果文件不是.debug.js或.min.js,则包含在两种情况中。

在发布模式下,所有文件都缩小并捆绑在一个文件中。无论他们以前是否捆绑过。

我通常拥有原始文件,而不是.min.js或.debug.js文件,让捆绑工具完成所有工作。

还必须注意另一个重要事项:捆绑器将根据内部规则重新排序包含的文件。而且,如果您使用通配符,则文件包含在alfabetically中。如果存在依赖关系并且它们包含在worng顺序中,这可能会使脚本失败。您可以在调试模式下运行站点以检查顺序(查看呈现的脚本标记)。如果订单有误,您可以调整文件名或实施IBundleOrderer

这是a very interesting article on bundling