【发布时间】:2012-08-10 18:08:32
【问题描述】:
我刚刚将一个 ASP.NET MVC 3 项目迁移到 MVC 4 / .NET 4.0,并安装了 NuGet 包 Microsoft.AspNet.Web.Optimization 以支持捆绑和缩小 CSS 和 JavaScript。我几乎可以进行捆绑/缩小工作,问题是它总是启用。即使应用程序处于调试模式(如 Web.config 中配置的那样),所有 JavaScript 包含的内容都会被缩小。从下面的 XML sn-p 可以看出,在 Web.config 中启用了调试模式:
<system.web>
<compilation debug="true" targetFramework="4.0">
...
</compilation>
...
</system.web>
我的捆绑配置摘录:
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
...
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-1.*",
"~/Scripts/jquery.form.js",
"~/Scripts/jquery.format.js"));
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/Site.css"));
...
}
}
CSS/JavaScript 包含在 HTML 中呈现,例如:
<link href="/content/css" rel="stylesheet" type="text/css">
<script src="/bundles/jquery" type="text/javascript"></script>
有没有人知道为什么在我的案例中启用了缩小功能?我不知道我在这里缺少什么。为了解决问题,我创建了一个测试 ASP.NET MVC 4 Internet 应用程序,并且可以验证 CSS/JavaScript 是否没有在该项目的调试模式下被缩小。
编辑:
在我的 _Layout.cshtml 文件中,我像这样渲染样式/脚本:
@Styles.Render("content/css")
@Scripts.Render("bundles/jquery")
感谢 Hao,我意识到我忘记在包名称前加上“~/”。
【问题讨论】:
-
@jrummell 这个问题的答案似乎是无条件地禁用缩小?我只想让标准条件缩小工作。
标签: asp.net-mvc-4 bundling-and-minification asp.net-optimization