网上压缩css和js工具很多,但在我们的系统中总有特殊的地方。也许你会觉得用第三方的压缩工具很麻烦。我就遇到了这样问题,我不想在本地压缩,只想更新到服务器上去压缩,服务器压缩也不用备份之类的操作。于是我就想着自己实现压缩工具。

初步需求如下:

  • 使用Yahoo.Yui.Compressor 2.0版本
  • 只对网站目录下指定文件夹中css和js进行压缩
  • 使用到了JQuery插件,所以有很多都是压缩过的js。所以对文件名称中保存min的不进行压缩
  • 不需要备份文件
  • 如在第一次访问文件时候进行压缩或应用程序启动时候进行压缩?

实现(应用程序启动压缩版本):

  • 引用 Yahoo.Yui.Compressor.dll
  • 在Global.asax的Application_Start事件中加入处理代码--code:
var 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);
}
}
}

完整代码下载:http://files.cnblogs.com/xuchengzone/JS-CSS.Compressor.rar

Asp.Net使用Yahoo.Yui.Compressor.dll压缩Js|Css相关推荐

  1. 使用 YUI Compressor 批量压缩JS/CSS

    官方网址:http://developer.yahoo.com/yui/compressor/ 安装包下载地址:https://github.com/yui/yuicompressor/downloa ...

  2. css compressor java_利用YUI Compressor压缩JS/CSS之终极秘籍

    JS/CSS的压缩已经不是什么新鲜话题了,自打YSlow推出后,这方面的优化话题是铺天盖地啊:不过当时作为后知后觉的我,甚至都没法完整地写出一份漂亮的JS/CSS的代码,何尝会去注意呢?! 时至今日, ...

  3. 使用yuicompressor 压缩js, CSS

    前言 保持web页面的轻量级,提高网页工程设计提升web应用程序的性能永远是一个主要策略.但是,还是有一些其他的辅助策略提升系统系统,像压缩代码, HTTP压缩传输 和使用CSS 精灵等. 压缩代码, ...

  4. YUI Compressor插件压缩后war中的js/css文件未压缩的解决方法(被maven打包顶替了)

    YUI Compressor Maven插件可以压缩/合并js或css文件,经常用在Maven项目中,但最近发现在wabapp中执行了 mvn install 命令进行发布之后,终端中显示插件已经执行 ...

  5. maven js css 压缩,maven压缩js css

    maven压缩 net.alchim31.maven yuicompressor-maven-plugin 1.3.0 prepare-package compress UTF-8 false fal ...

  6. yii2 asset.php,Yii2中使用asset压缩js,css文件的方法_php实例

    官网文档 http://www.yiiframework.com/doc-2.0/guide-structure-assets.html yii目录下运行 asset/template assets. ...

  7. IDEA添加外部插件-yuicompressor压缩js/css

    前端 IntelliJ IDEA2022.3 中自动压缩js,css文件 下载文件扫描器 File Watchers 配置 File Watchers 需要下载 yuicompressor 下载文件扫 ...

  8. java 压缩js css,java YUI压缩JS跟CSS

    项目需要压缩JS和CSS,文件和文件夹太多,一一处理又比较麻烦,写个程序吧: import java.io.File; import java.io.FileInputStream; import j ...

  9. 压缩 js/css 的工具

    最近检测服务器,发现js/css文件都没有压缩过,动手解决此问题先. 本次压缩采用 yui compress (2.4.8) 压缩脚本: #!/bin/sh echo "########## ...

最新文章

  1. Numpy入门教程:12. 线性代数
  2. c51汇编语言处理多位数,汇编语言用循环输出多位数,结果溢出了,怎么解决?...
  3. python编程语法-Python编程入门——基础语法详解
  4. ai作文批改_好未来:AI智能批改中英文作文为老师“减负”
  5. 计算机组成 交换的目的,计算机组成原理试卷.docx
  6. SSLOJ 1351.矩形反色
  7. 【入门篇】接口自动化测试
  8. Unity开发——CPU优化篇
  9. element ui 框架的优势_Element UI 框架
  10. CorelDRAW 文字排版用了这些方法肯定有意想不到的效果呈现
  11. python股票量化如何选股?
  12. 12306火车票抢票Python代码
  13. IOS 检测摇一摇动作的实现方式
  14. 清华梦的粉碎—写给清华大学的退学申请 /王垠
  15. RAW,RGB,YUV简单理解
  16. win10安装虚拟机Linux Centos7系统网络配置
  17. 【大话数据结构】第八章-查找(2)
  18. 用数字 5,5,5,1 ,进行四则运算,每个数字当且仅当用一次,要求运算结果值为 24
  19. 注册宝网络验证系统,安全免费的网络验证系统
  20. IoC+AOP的简单实现

热门文章

  1. Java并发篇_乐观锁与悲观锁
  2. 带控制端的逻辑运算电路_分别完成正整数的平方、立方和阶乘的运算verilog语言...
  3. 如何避免踩坑--初创技术团队组建风险预估
  4. asp.net MVC5为WebAPI添加命名空间的支持
  5. Harbor升级和数据库迁移手册
  6. 【rman】list archivelog all与list backup of archivelog all
  7. python计算无穷级数求和常用公式_傅里叶变换(二) 从傅里叶级数到傅里叶变换...
  8. 3.JDK和JRE和JVM的区别
  9. Android MediaPlayer使用方法简单介绍
  10. vue 监听map数组变化_解决vue无法侦听数组及对象属性的变化问题