Asp.net mvc asp.net mvc脚本包添加所有文件

Asp.net mvc asp.net mvc脚本包添加所有文件,asp.net-mvc,asp.net-mvc-4,asp.net-optimization,Asp.net Mvc,Asp.net Mvc 4,Asp.net Optimization,当您添加脚本包并具有以下内容时: bundles.Add(new ScriptBundle("~/bundles/base.scripts").Include( "~/Scripts/jquery-1*")); 它加载原始Jquery版本和缩小版本。这些文件都在Scripts文件夹中,所以我假设星号正按照您的指示执行 在debug=false模式下,是否有办法只渲染缩小版本,而在debug=true模式下渲染原始版本 或者,是因为实际指定

当您添加脚本包并具有以下内容时:

bundles.Add(new ScriptBundle("~/bundles/base.scripts").Include(
                            "~/Scripts/jquery-1*"));
它加载原始Jquery版本和缩小版本。这些文件都在Scripts文件夹中,所以我假设星号正按照您的指示执行

在debug=false模式下,是否有办法只渲染缩小版本,而在debug=true模式下渲染原始版本

或者,是因为实际指定了您想要的文件,而不是使用星号

问候,,
Jacques

这应该通过BundleCollection的FileExtensionReplacementList自动发生,当debug=false时,该列表应该选择文件的.min版本。创建新项目时的默认模板也应该使用此功能。

虽然这个问题已经有一年多的历史了,但如果有人在同一问题上需要帮助时偶然发现它,绑定将引入{version}通配符,它使用正则表达式来查找典型的版本号模式(如1.9.1)这样,当您手动或通过NuGet更新包时,就不必去更改包配置

它还可以从名为.min.js和.js的文件中进行选择——在发布配置中使用前者,在调试中使用后者,这正是OP所追求的

对于ASP.NET MVC 4,这意味着在调试配置中 jquery-1.7.1.js将添加到捆绑包中 配置,将添加jquery-1.7.1.min.js。绑定 框架遵循以下几种常见约定:

  • 当“FileX.min.js”和“FileX.js”存在时,选择要发布的“.min”文件
  • 选择非“.min”版本进行调试
  • 忽略仅由IntelliSense使用的“-vsdoc”文件(如jquery-1.7.1-vsdoc.js)
看到和

不过警告一句,如果目录中同时有jQuery-1.9.1.js和jQuery-1.10.2.js(例如),那么这两个将被匹配并添加到捆绑包中-这显然是不可取的


还要注意的是,文件的缩小版本必须命名为file.min.js,而不是file-min.js或min.file.js,这样才能工作。例如,当您通过NuGet获取YepNope库时,它的名称为YepNope.1.5.4-min.js,这意味着此版本和未统一的版本都被添加到包中。

谢谢。我需要检查什么如果这没有发生?还有,你有一个链接,我可以从中了解到预期的行为吗?目前还没有关于这方面的好文档,但是Howard在他的演讲中演示了这一点:谢谢Hao,我会查看链接