【发布时间】:2014-08-25 17:58:42
【问题描述】:
使用:
- MVC 5.2.0.0
- Microsoft.AspNet.Web.Optimization 1.1.3
- Visual Studio 13
- 撰写本文时的最新更新
我的主机服务正在重置我的应用程序池,因为我超出了限制。他们的限制是每个 Post 或 Get 300 MB。这似乎已经足够了!发生什么了?我用 Fiddler 发现捆绑让我很头疼。
如果我在布局中使用脚本加载:
<script src="@Url.Content("~/Scripts/jquery-2.1.1.min.js")"></script>
等等,使用 Fiddler,我看到我的页面加载了大约 55K 的脚本,用于我需要运行的所有内容。
如果我使用:
@Scripts.Render("~/bundles/jquery")
等等,Fiddler 报告仅 一个 包的负载为 7 MB,并且从那里快速下山......
脚本的数据是乱码,因此看起来优化正在加密所有捆绑的脚本。
我喜欢捆绑的易用性,但有没有办法关闭这种“打包”?我想要从捆绑中帮助将我的脚本组织成块,所以我不需要复制太多到每个布局文件。
编辑:
抱歉,300 MB 是应用程序池中的内存限制。这就是我遇到的问题。
捆绑包是标准票价(而不是调用多个捆绑包,我将它们全部塞入一个)。:
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery.validate*",
"~/Scripts/modernizr-*",
"~/Scripts/site.js",
"~/Scripts/bootstrap.js",
"~/Scripts/respond.js",
"~/Scripts/masonry.pkgd.min.js",
"~/Scripts/jquery.zoom.min.js",
"~/Scripts/AnimOnScroll.js",
"~/Scripts/classie.js",
"~/Scripts/imagesloaded.js",
"~/Scripts/util.js"));
另外 - 这不是我的服务器 - 这是一个托管服务:DiscountASP.net
另一个编辑
对不起,数量是 550K vs 7 MB
【问题讨论】:
-
请发布您的捆绑配置。
-
没有“加密”资产之类的东西。浏览器必须读取它们,如果它们被加密而无法工作。您可能已将服务器配置为 gzip,这将使它们成为二进制文件。我也对您的“负载”和“限制”措辞感到困惑。你说的是记忆吗?还是带宽?如果带宽,300mb 根本不算多……即使对于一个简单的网站……你很快就会被烧毁……
-
另外,请检查您的 jquery 包,这通常包括的不仅仅是 jquery。
-
Fiddler 与您使用的内存量有什么关系?你怎么知道捆绑导致你的记忆问题?您的问题不包括将两者联系起来的证据。
-
Fiddler 与任何东西都没有关系——它只是报告我从服务器中提取的东西的数量。捆绑 = 7Mb 无捆绑 = 55K
标签: asp.net-mvc bundling-and-minification