压缩JS,CSS的工具

时间:2021-09-21 19:26:01

目标:

  压缩项目中的JS,CSS文件.

方法一:使用uglifyjs uglifycss

压缩JS:

  1.安装NODEJS.是一个在服务端运行的JS语言.下载地址https://nodejs.org/en/download/           下载完成之后,(windows版本),双击后下一步....安装.

  2.打开CMD,执行 npm install uglify-js -g    // 意思是使用npm(nodejs package manager)包管理命令安装uglify-js 这个软件包, -g 的作用如同添加了环境变量,可直接在CMD中运行uglify命令.

  3.这个命令需要连网,因为要下载uglify的包,也可以下载源码 地址:https://github.com/mishoo/UglifyJS2

  4.尝试压缩一个JS试试:

    uglifyjs test.js -o test.min.js    // 第一个参数test.js为要压缩的源JS文件 -o表示输出到后面的test.min.js这个文件.结果就是test.js的目录下多了一个test.min.js文件,打开后是压缩过的版本.

    uglifyjs test.js -m -o test.min.js  // 比上面多一个参数 -m 意思是缩小变量名字,缩小后变量名成a,b之类的了.

    5.其它参数...

    uglifyjs -h // 这个命令可查看参数列表,功能各种各样.今天就不研究下...第4部的两个命令执行后,去掉了注释和空格转行之类,-m缩短变量名..已经初步达到目的了.

压缩CSS:

  1.打开CMD 执行 npm install  uglifycss -g // 参考地址:https://www.npmjs.com/package/uglifycss

  2.尝试压缩一个CSS试试:

    uglifycss test.css > test.min.css // 第一个参数是要压缩的源CSS,>号后面的参数是输出到这个min.css文件.参数就没研究了.

方式二:使用 Microsoft AjaxMin

       下载地址:http://ajaxmin.codeplex.com/

     vs使用nuget找AjaxMin 作者:Microsoft Corporation,Ron Logan

压缩JS:

    Microsoft.Ajax.Utilities.Minifier ajaxmin = new Microsoft.Ajax.Utilities.Minifier();

    var jssource = File.ReadAllText(@"xxx.js");

    var jsminresult = ajaxmin.MinifyJavaScript(jssource);// 得到压缩后的js文件

压缩CSS:

    var csssource = File.ReadAllText(@"xxx.css");

    var cssminresult = ajaxmin.MinifyStyleSheet(csssource);// 得到压缩后的css文件

方式三:使用 YUICompressor.NET

    下载地址:http://yuicompressor.codeplex.com/

     vs使用nuget找YUICompressor.NET 作者:Pure Krome and freeranger

       注意添加的程序集有两个 EcmaScript.NET     Yahoo.Yui.Compressor   在使用时发现在release下运行时,如果没有引用EcmaScript.Net库,会报错误

压缩JS:

    JavaScriptCompressor yuijs = new JavaScriptCompressor { Encoding = Encoding.UTF8 };

    var jssource = File.ReadAllText(@"xxx.js");

    var jsminresult = yuijs.Compress(jssource);// 得到压缩后的js文件

压缩CSS:

    CssCompressor yuicss = new CssCompressor();

    var csssource = File.ReadAllText(@"xxx.css");

    var cssminresult = yuicss.Compress(csssource);// 得到压缩后的css文件

结论:

  方式一需要安装NODE.JS和一大堆包,不方便.但会NODE果非常合适

  方式二和三都是.NET上的库,可以直接使用,代码也方便快捷.

  推荐使用方式三,据说是"标准的压缩方式".