mvc4以上,微软加了BundleConfig,可以用来统一管理网站的js和css文件,方便升级前端库或切换cdn的好工具。虽然有些人觉得写在layout里面也可以这样做,前提是你的layout并不多,多了还是用BundleConfig方便点。
但在使用中遇到一些比较坑的问题。在这里备注下,以免再犯。
基本写法如下:
bundles.Add(new ScriptBundle("~/wwwroot/plugins/jQuery/jquery-1.10.2.min.js",
"//cdn.bootcss.com/jquery/1.10.2/jquery.min.js").Include(
"~/wwwroot/plugins/jQuery/jquery-1.10.2.min.js"));
蓝色是虚拟路径,供页面使用,如果你是css文件,里面有使用相对路径取图片,请使用和网站路径一致的虚拟路径,文件名可以不一致,避免图片文件路径出错。
橙色是cdn路径。
红色是项目文件的实际路径,可以是多个,如果是多个,请注意蓝色路径不能是实际文件名,不然只会取一个。
BundleTable.EnableOptimizations = true;
用来启用捆绑压缩,注意的是,蓝色和红色的文件名不能一致,否则不会压缩。调试模式下就算开启也不会压缩,发布就好了。
bundles.UseCdn = true;
用来启用cdn。