Yahoo.Yui.Compressor压缩.NET版

做B/S程序用到很多JS和CSS,为了提高性能一般都采取文件压缩,之前都是用别人在线的压缩工具,但每次只能压缩一个文件比较郁闷,每次发布更新很是麻烦,这里抽空写了一个简单的压缩工具,用的Yahoo.Yui.Compressor。

PS:博客园附件咋添加,先放个外链下载地址吧。http://uniold.com/ScriptPacker.rar(时间长了会删除,不保证长期有效)

先上简图

2011042117441273.png

2011042117443710.png2011042117445396.png

 string s = null;
            if (folderBrowserDialog1.SelectedPath.Length > 0)
            {
                DirectoryInfo d = new DirectoryInfo(folderBrowserDialog1.SelectedPath);
                FileInfo[] fi = d.GetFiles();
                foreach (FileInfo f in fi)
                {
                    if (!Directory.Exists(folderBrowserDialog1.SelectedPath + "\\Min\\"))
                    {
                        Directory.CreateDirectory(folderBrowserDialog1.SelectedPath + "\\Min\\");
                    }
                    if (f.Extension.ToLower() == ".js")
                    {
                        s = JavaScriptCompressor.Compress(ReaderText(folderBrowserDialog1.SelectedPath + "\\" + f.Name), false/*是否详细记录*/, true/*是否混淆*/, 
                            false/*保留所有分号*/, false/*禁用优化*/, 99999/*换行的位置*/, System.Text.Encoding.UTF8/*编码格式*/, null);
                        Create(s, folderBrowserDialog1.SelectedPath + "\\Min\\" + f.Name);
                    }
                    else if (f.Extension.ToLower() == ".css")
                    {
                        s = CssCompressor.Compress(ReaderText(folderBrowserDialog1.SelectedPath + "\\" + f.Name), 99999, CssCompressionType.Hybrid);
                        Create(s, folderBrowserDialog1.SelectedPath + "\\Min\\" + f.Name);
                    }
                }
                DialogResult dr = MessageBox.Show("是否打开压缩后的文件夹?", "是否打开", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (dr == DialogResult.Yes)
                {
                    System.Diagnostics.Process.Start("explorer.exe", folderBrowserDialog1.SelectedPath + "\\Min\\");
                }
                return;
            }
            s = richTex.Text;
            if (checkBox1.Checked)
                richTex.Text = CssCompressor.Compress(s, 99999, CssCompressionType.Hybrid);
            else
                richTex.Text = JavaScriptCompressor.Compress(s, false, true, false, false, 99999, Encoding.UTF8, null);

            richTex.Select();

转载于:https://www.cnblogs.com/maple-net/archive/2011/04/21/2023838.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值