MVC中有个专门提供JS和CSS压缩的类,BundleCollection,其实这个类也可以在asp.net中用, 关于BundleCollection类的详细推荐个地址:http://www.cnblogs.com/lifeil/archive/2013/03/11/2954071.html 我这里只是记录下使用过程中遇到的两个小问题 1.css被压缩后,里面图片路径文件的问题 我们可以看到MVC中 BundleConfig这个类里,都是自动生成的好多需要压缩的JS和CSS view在头部这样写就可以导入 ~/Content/layout.css 和~/Content/wysiwyg.css的CSS了 照上面方法,我继续在后面加了个CSS,就是站点的皮肤,注意蓝色位置,已经不在Content文件下级了 这样在开发的时候没什么问题,因为在开发模式下CSS和JS是没有被压缩的,但是我把网站发布后就出问题了, Content/themes/blue/styles.css 里图片都是这样写的 url(img /bg_navigation.png),有人会说,为什么不写 /Content/themes/blue/img/bg_navigation.png,如果在MVC用到了区域,这样写路径也会就会出问题 如何在不发布网站的情况下测试压缩CSS呢?在BundleConfig 类里加上 或修改Web.config 看看压缩前后的CSS路径终于发现问题了 压缩前: 压缩后: 原来,我们写的 new StyleBundle("~/Content/Css") 会影响到压缩后的路径 解决办法: 对于皮肤的CSS,我们重写一个声明 这样图片就能找到了 2.压缩javascript文件的是时候,如果文件名带有 .min居然不压缩,连文件都不导入,例如 这样的文件在压缩后不会被导入,解决办法 改JS名字,去掉min 或 在view里写 @Scripts.Render("~/Scripts/my/jquery.easyui.min.js"),这样就不会被压缩了 其实带min已经是被压缩了的,如果对这个文件进行压缩,运行里面相关方法会报错 写的有点乱,只是记录下bundles.Add(new StyleBundle("~/Content/Css").Include("~/Content/layout.css", "~/Content/wysiwyg.css"));
@Styles.Render("~/Content/Css")
bundles.Add(new StyleBundle("~/Content/Css").Include("~/Content/layout.css","~/Content/wysiwyg.css", "~/Content/themes/blue/styles.css"));
BundleTable.EnableOptimizations = true;
<compilation debug="false" targetFramework="4.0">
bundles.Add(new StyleBundle("~/Content/themes/blue/Css").Include("~/Content/themes/blue/styles.css"));
bundles.Add(new ScriptBundle("~/bundles/easyui").Include("~/Scripts/my/jquery.easyui.min.js"));
MVC中用 BundleCollection 压缩CSS时图片路径问题
精选 转载文章标签 MVC中用 BundleCollecti 文章分类 前端开发
-
压缩上传的图片并返回图片路径
去掉图片冗余信息后可以有效压缩图像,同时又不会损害图像的有效信息。
ajax javascript servlet 上传 sed -
Web压缩问题-图片不显示
本文首发于:"算法与编程之美",欢迎关注,及时了解更多此系列文章。引言在制作web网页中,压缩web文件后,图片无法显示怎么办?在日常使用,编写网页发现有些网页图片无法显示,有些...
python linux java 编程语言 大数据 -
CSS中的图片路径问题
CSS中的背景图片写了相对路径,为什么不显示那? 【解决方法】CSS中的背景图片路径应该写成相对于当前CSS文件的路径,而不是针对网站根目录的相对路径。
css 背景图片 相对路径 解决方法 根目录