ASP.NET MVC 4.0应用程序- Visual 2012
我不能让捆绑和小型化在发布模式下工作。
我的基本不理解是:
我是否必须事先提供*.MIN.css,*.MIN.js文件,还是应该自行将文件缩小?(我提供了一个mcimagemanager.js,VS用它做mcimagemanager.MIN.js )?
下面是一个代码片段--它在Global.asax中被调用:
public static void RegisterBundles(BundleCollection bundles)
{
var im = new ScriptBundle("~/bundles/MCImageManager").Include(
"~/Scripts/tinymce/plugins/imagemanager/js/mcimagemanager.js"
);
bundles.Add(im);
}它在调试模式下运行良好,而不是在发布模式下。
谢谢!
发布于 2013-03-07 16:38:08
不,您不需要提供.min文件,绑定程序也不会创建该版本(至少在文件夹中看不到)。
不同之处在于。假设脚本文件夹中同时有jquery-1.9.1.js和jquery-1.9.1.min.js。
调试模式将使用jquery-1.9.1.js作为源代码脚本,不将其缩小或绑定,因为整个绑定/缩小在调试模式中是禁用的(尽管您可以覆盖此)。
发布模式将使用jquery-1.9.1.min.js并将其与该包的其他脚本捆绑在一起。
如果您只有一个文件,jquery-1.9.1.js,则发布模式将使用它,并将其细化和打包。
调试模式将不使用.min文件。因此,如果您使用通配符来包含脚本目录的所有文件,则不会包括您的.min文件。
调试模式,如果您查看呈现的HTML,将分别引用包中的所有脚本文件。在发布模式下,每个包只有一个脚本引用(版本控制有一个查询字符串)。
其他相关阅读/员额:
Scripts.Render using outdated javascript file
Force ASP.Net MVC Bundle to render the javascript files in a certain order
发布于 2013-03-07 09:24:56
捆绑和缩小框架也缩小了自身。所以您只需提供简单的JavaScript/CSS文件。它一方面处理文件本身,另一方面处理视图中的注册,例如:@Scripts.Render("~/bundles/jquery")。因此,它“知道”需要在视图中包含什么文件,如果它是“正常”或“最小”版本。
关于这个主题的更多信息,您可以在这个很好的练习中找到:topic5.aspx
然而,对于面向MVC的应用程序来说,这可能是更好的资源:http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification。
https://stackoverflow.com/questions/15267237
复制相似问题