【问题标题】:@Scripts.Render not working@Scripts.Render 不工作
【发布时间】:2013-04-12 10:57:37
【问题描述】:

我在 BundleConfig 中注册了 bundle,如下所示: bundles.Add(new ScriptBundle("~/bundles/jqueryupload").Include( "~/Scripts/jquery.upload-1.0.2.min.js"));

并希望像这样在视图上呈现它: @Scripts.Render("~/bundles/jqueryupload")

但我的 sript 不包含在页面中。 有什么想法吗? 谢谢!

【问题讨论】:

    标签: asp.net-mvc bundling-and-minification


    【解决方案1】:

    不要在你的包中包含缩小版本:

    ScriptBundle("~/bundles/jqueryupload").Include("~/Scripts/jquery.upload-1.0.2.js"))
    

    捆绑包的全部意义在于它们将负责缩小和组合您的静态资源。你不应该在你的包中注册.min.js。

    【讨论】:

    • 能贴出在bundles中注册.min.js文件的例子吗?
    • 在哪里注册捆绑包中的 .min 文件的最佳位置。最好的方法是什么?
    • 正如我在回答中已经解释的那样,您不应该尝试在您的捆绑包中注册此类缩小的脚本。只需将它们作为正常的<script> 包括在内。或者获取可以在捆绑包中注册的非缩小版本。
    • 我认为,OP 在后续评论/问题中得到的可能是您如何让 @Scripts.Render 呈现脚本的缩小版本。在这种情况下,答案是在发布版本中它将使用文件名约定来查找最小版本。或者您可以在配置捆绑包时使用BundleTable.EnableOptimizations = true;。如果没有找到缩小版本,它将为您缩小文件。
    • 我使用 ScriptBundle 捆绑 CSS 并得到 this 错误,确保将 ScriptBundle 用于脚本,StyleBundle 用于 CSS
    猜你喜欢
    • 1970-01-01
    • 2013-01-29
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    • 2015-05-17
    • 1970-01-01
    • 2017-11-04
    • 2021-09-26
    相关资源
    最近更新 更多