MVC中用 BundleCollection 压缩JS与CSS时 路径的相关问题
来源:互联网 发布:开发类似唯品会软件 编辑:程序博客网 时间:2024/05/22 15:07
转载于:http://www.cnblogs.com/linfei721/archive/2013/05/03/3056497.html
MVC中有个专门提供JS和CSS压缩的类,BundleCollection,其实这个类也可以在asp.NET中用,
关于BundleCollection类的详细推荐个地址:http://www.cnblogs.com/lifeil/archive/2013/03/11/2954071.html
我这里只是记录下使用过程中遇到的两个小问题
1.css被压缩后,里面图片路径文件的问题
我们可以看到MVC中 BundleConfig这个类里,都是自动生成的好多需要压缩的JS和CSS
bundles.Add(new StyleBundle("~/Content/Css").Include("~/Content/layout.css", "~/Content/wysiwyg.css"));
view在头部这样写就可以导入 ~/Content/layout.css 和~/Content/wysiwyg.css的CSS了
@Styles.Render("~/Content/Css")
照上面方法,我继续在后面加了个CSS,就是站点的皮肤,注意蓝色位置,已经不在Content文件下级了
bundles.Add(new StyleBundle("~/Content/Css").Include("~/Content/layout.css","~/Content/wysiwyg.css", "~/Content/themes/blue/styles.css"));
这样在开发的时候没什么问题,因为在开发模式下CSS和JS是没有被压缩的,但是我把网站发布后就出问题了,
Content/themes/blue/styles.css 里图片都是这样写的 background: url(img/bg_navigation.png),有人会说,为什么不写 /Content/themes/blue/img/bg_navigation.png,如果在MVC用到了区域,这样写路径也会就会出问题
如何在不发布网站的情况下测试压缩CSS呢?在BundleConfig 类里加上
BundleTable.EnableOptimizations = true;
或修改Web.config
<compilation debug="false" targetFramework="4.0">
看看压缩前后的CSS路径终于发现问题了
压缩前:
压缩后:
原来,我们写的 new StyleBundle("~/Content/Css") 会影响到压缩后的路径
解决办法:
对于皮肤的CSS,我们重写一个声明
bundles.Add(new StyleBundle("~/Content/themes/blue/Css").Include("~/Content/themes/blue/styles.css"));
这样图片就能找到了
2.压缩JavaScript文件的是时候,如果文件名带有 .min居然不压缩,连文件都不导入,例如
bundles.Add(new ScriptBundle("~/bundles/easyui").Include("~/Scripts/my/jquery.easyui.min.js"));
这样的文件在压缩后不会被导入,解决办法
改JS名字,去掉min 或 在view里写 @Scripts.Render("~/Scripts/my/jQuery.easyui.min.js"),这样就不会被压缩了
其实带min已经是被压缩了的,如果对这个文件进行压缩,运行里面相关方法会报错
写的有点乱,只是记录下
- MVC中用 BundleCollection 压缩JS与CSS时 路径的相关问题
- MVC中用 BundleCollection 压缩JS与CSS时 路径的相关问题
- asp.net mvc中用 BundleCollection压缩JS与CSS时,图片或js引用错误
- 关于MVC中BundleCollection压缩js css文件 发布后获取失败的问题
- ASP.NET MVC4中用 BundleCollection使用问题手记
- ASP.NET MVC4中用 BundleCollection使用问题手记
- JS压缩与CSS压缩
- struts中css与js路径问题
- Spring MVC程序中怎么得到静态资源文件css,js,图片文件的路径问题
- css/js的压缩与还原
- pom 压缩css与js
- sencha touch 压缩js,css遇到的问题
- JS中用replace的问题
- JS中用replace的问题
- 工作中用过的js和css
- ASP.NET MVC 4 RC的JS/CSS打包压缩功能
- ASP.NET MVC 4 RC的JS/CSS打包压缩功能
- ASP.NET MVC 中CSS JS压缩合并 功能的使用方法
- 【bzoj1218】 [HNOI2003]激光炸弹
- Symfony2学习视频地址
- ajax无刷新下载文件 虚拟form
- 风应该是凉的
- SAP中内部订单和PS的区别
- MVC中用 BundleCollection 压缩JS与CSS时 路径的相关问题
- codeforces-724
- 网上祭祀项目后台开发学习历程
- JDK的安装
- VirtualBox下安装Ubuntu
- Java图片压缩
- 详解Centos 使用YUM安装MariaDB
- 异步加载js方案
- c# winform 获取当前程序运行根目录