2

我试图了解 MVC 4 中的捆绑包。根据我的阅读,您只需将它指向一个脚本或一堆脚本,给它一个名称,它就会将它们捆绑起来。如果您不在调试中,它也会缩小它们。

示例代码:

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

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

4

1 回答 1

1

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

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

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

您还必须注意另一件重要的事情:捆绑程序将根据内部规则重新排序包含的文件。并且,如果您使用通配符,文件将按字母顺序包含。如果存在依赖项并且它们包含在磨损顺序中,这可能会使您的脚本失败。您可以在调试模式下运行您的站点以检查顺序(查看呈现的脚本标签)。如果顺序错误,您可以调整文件名或实现IBundleOrderer

这是一篇关于捆绑的非常有趣的文章

于 2013-07-23T11:13:37.333 回答