【问题标题】:Unable to reference the minified version of jquery inside my bundle无法在我的包中引用 jquery 的缩小版本
【发布时间】:2013-12-31 13:01:48
【问题描述】:

我的 App_start 文件夹中有以下代码在我的 asp.net mvc Web 应用程序中:-

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

但是当我修改以上内容以引用 jquery 的缩小版本如下(通过添加 .min)时,

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

我在依赖 jquery 的脚本上遇到错误,并且所有错误都提到应用程序需要运行 jquery 脚本。所以任何人都可以告诉我如何在我的包中引用 jQuery 的最小版本?

【问题讨论】:

  • jquery min 文件是否真的存在于 ~/Scripts/ 中?
  • 您无法引用捆绑包中的 .min 文件。当您在 Web 配置中设置 compilation debug="false" 时,MVC 将自动使用 .min 版本。
  • @AaronPalmer 是的,它就在那里..
  • @nemesv 目前我的网络配置中有以下内容 。所以我应该将编译 degug 更改为 false ???
  • @johnG 是的,如果您更改debug="false",它将自动使用.min,如果不存在.min,则框架将自动缩小引用的JavaScript 文件。

标签: jquery asp.net-mvc razor


【解决方案1】:

这里有两个选择

1) 在 RegisterBundles 方法中添加 EnableOptimizations 为 true。

 BundleTable.EnableOptimizations = true;

2) 将Web.config文件中compile Element中的debug属性改为false

   <compilation debug="false" targetFramework="4.5" />

只有当 debug 属性为 false 时才会使用 .min 版本的文件。 EnableOptimizations 会覆盖 Web.config 文件中编译元素中的调试属性

【讨论】:

  • 但在我的情况下,我有 degug = true ,当我在 IIS 上部署我的应用程序时,所有脚本和 css 都将作为包下载,我通过查看页面源来检查这一点。所以我不确定为什么我必须将调试更改为 false ?
  • 推荐的bundle配置是只包含非缩小的.css和.js文件,如果.min版本存在于release build中会自动选择,即在您的 Web.config 中。此外,当您部署应用程序时,最好将调试属性设置为 false。如果不想使用 debug 属性,可以在 RegisterBundles 方法中添加 EnableOptimizations。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-24
相关资源
最近更新 更多