Asp.Net使用Yahoo.Yui.Compressor.dll压缩Js|Css
网上压缩css和js工具很多,但在我们的系统中总有特殊的地方。也许你会觉得用第三方的压缩工具很麻烦。我就遇到了这样问题,我不想在本地压缩,只想更新到服务器上去压缩,服务器压缩也不用备份之类的操作。于是我就想着自己实现压缩工具。
初步需求如下:
- 使用Yahoo.Yui.Compressor 2.0版本
- 只对网站目录下指定文件夹中css和js进行压缩
- 使用到了JQuery插件,所以有很多都是压缩过的js。所以对文件名称中保存min的不进行压缩
- 不需要备份文件
- 如在第一次访问文件时候进行压缩或应用程序启动时候进行压缩?
实现(应用程序启动压缩版本):
- 引用 Yahoo.Yui.Compressor.dll
- 在Global.asax的Application_Start事件中加入处理代码--code:
ar files = System.IO.Directory.GetFiles(Server.MapPath("~/"), "*.*", SearchOption.AllDirectories);
foreach (var file in files){ FileInfo finfo = new FileInfo(file); //todo 你可以在文件夹添加可以文件记录最后压缩时间.再判断文件最后修改时间是在上一次压缩时间之后的文件.而且这里还可以做异步处理 string strContent = File.ReadAllText(file, Encoding.UTF8); //名称不是min //todo 可能需要更完善的判断 if (!file.Contains(".min.")) { //取消文件只读 File.SetAttributes(file, FileAttributes.Normal); if (finfo.Extension.ToLower() == ".js") { //初始化JS压缩类 var js = new JavaScriptCompressor(); js.CompressionType = CompressionType.Standard;//压缩类型 js.Encoding = Encoding.UTF8;//编码 js.IgnoreEval = false;//大小写转换 js.ThreadCulture = System.Globalization.CultureInfo.CurrentCulture; //压缩该js strContent = js.Compress(strContent); File.WriteAllText(file, strContent, Encoding.UTF8); } else if (finfo.Extension.ToLower()==".css") { //进行CSS压缩 CssCompressor css = new CssCompressor(); strContent = css.Compress(strContent); File.WriteAllText(file, strContent, Encoding.UTF8); } }}Asp.Net使用Yahoo.Yui.Compressor.dll压缩Js|Css的更多相关文章
- .net 运用YUI相关的dll压缩js (按照自己的规则,想想都觉得强大和有趣)
写在前面 不管是做前端的还是做后台的,不管是懂javaScript的还是不太懂JavaScript的人,我想都或多或想的知道些许js压缩对于页面性能提升的效应吧. 之前老喜欢用在线压缩工具去压缩js, ...
- 压缩JS,CSS的工具
目标: 压缩项目中的JS,CSS文件. 方法一:使用uglifyjs uglifycss 压缩JS: 1.安装NODEJS.是一个在服务端运行的JS语言.下载地址https://nodejs.org/ ...
- maven压缩js css
maven压缩<plugin> <!-- YUI Compressor Maven压缩插件 --> <groupId>net.alchim31.maven</ ...
- (转)yuicompressor 与 maven结合,打包,压缩js,css (一)
js,css代码压缩 web站点需要对js,css代码进行压缩,打包,下面是利用maven进行打包压缩的配置 将压缩后的代码打入到war包中,并且压缩后的js,css文件名不变 <plugins ...
- PHP动态压缩js,css
PHP动态压缩js,css 列表项 标签: PHP 正式发布产品时,我们希望将项目里的js,css合并压缩,以减少http请求.防止轻易查看源代码. 使用 只需要在头部引入一下代码即可: <me ...
- ASP.NET MVC 4使用Bundle的打包压缩JS/CSS
打包(Bundling)及压缩(Minification)指的是将多个js文件或css文件打包成单一文件并压缩的做法,如此可减少浏览器需下载多个文件案才能完成网页显示的延迟感,同时通过移除JS/CSS ...
- idea 添加yuicompressor压缩js/css
打开idea 点击file->Settings 出现如下界面 argumets项填写 : -jar F:\yui\yuicompressor-2.4.8.jar $FilePath$ -o $F ...
- 压缩 js/css 的工具
最近检测服务器,发现js/css文件都没有压缩过,动手解决此问题先. 本次压缩采用 yui compress (2.4.8) 压缩脚本: #!/bin/sh echo "########## ...
- gulp 压缩js,css
最近做的前端项目中发现引用的js包太多,导致页面加载时反应很慢,所以首先想到的是将js和css压缩,提高加载速度. 我们先来看看抓到的当前页面响应时间: 页面异步加载,需要响应时间 7.41秒,这也太 ...
随机推荐
- Windows热键注册的底层原理
要像系统注册一个全局热键,需要用到RegisterHotKey,函数用法如下(MSDN):BOOL RegisterHotKey( ...
- Android5.0 Recovery源代码分析与定制(一)【转】
本文转载自:http://blog.csdn.net/morixinguan/article/details/72858346 版权声明:本文为博主原创文章,如有需要,请注明转载地址:http://b ...
- UESTC--758--P酱的冒险旅途(模拟)
P酱的冒险旅途 Time Limit: 1000MS Memory Limit: 65535KB 64bit IO Format: %lld & %llu Submit Status ...
- LA4122
哈夫曼树+搜索 抄了抄代码 先开始不知道怎么限制哈夫曼树,然后看了看代码,是用bfs序来限制.因为每个节点的右子树节点肯定不小于左儿子,同一层也是.所以先搞出bfs序,然后搜索,判断每一层右边是否大于 ...
- El表达式日期处理
第1步:引入指令 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt " %&g ...
- Win10 计算机管理 打不开应急办法
最近Win10重置以后,计算机管理打不开了,经过一番尝试,通过以下命令在cmd下面可以直接打开 compmgmt 或者compmgmt.msc打开 在次特做一个记录,以备急用
- nginx编译安装新模块
nginx的模块是需要重新编译nginx,而不是像apache一样配置文件引用.so 这里以安装第三方ngx_http_google_filter_module模块为例 下载第三方扩展模块ngx_ht ...
- 【JAVA练习】- 给定精度求圆周率π
给定一个精度求圆周率π的近似值 给定公式:π/4=1-1/3+1/5-1/7+1/9-... public static void main(String[] args) { System.out.p ...
- Java 8 新特性终极指南
1.前言 毫无疑问,Java 8的发布是自从Java5以来Java世界中最重大的事件,它在编译器.工具类和Java虚拟机等方面为Java语言带来的很多新特性.在本文中我们將一起关注下这些新变化,使用实 ...
- MyEclipse创建SSH项目(Java web由maven管理)
JavaEE后台开发,MyEclipse创建SSH项目,MyEclipse创建Java web 由maven管理的SSH项目. Demo工程源码github地址 1.创建SSH项目 1.创建web工程 ...