目标:

  压缩项目中的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上的库,可以直接使用,代码也方便快捷.

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

    

压缩JS,CSS的工具的更多相关文章

  1. 压缩 js/css 的工具

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

  2. PHP动态压缩js,css

    PHP动态压缩js,css 列表项 标签: PHP 正式发布产品时,我们希望将项目里的js,css合并压缩,以减少http请求.防止轻易查看源代码. 使用 只需要在头部引入一下代码即可: <me ...

  3. gulp 压缩js,css

    最近做的前端项目中发现引用的js包太多,导致页面加载时反应很慢,所以首先想到的是将js和css压缩,提高加载速度. 我们先来看看抓到的当前页面响应时间: 页面异步加载,需要响应时间 7.41秒,这也太 ...

  4. 开箱即用 - Grunt合并和压缩 js,css 文件

    js,css 文件合并与压缩 Grunt 是前端自动化构建工具,类似webpack. 它究竟有多强悍,请看它的 介绍. 这里只演示如何用它的皮毛功能:文件合并与压缩. 首先说下js,css 合并与压缩 ...

  5. gulp入门-压缩js/css文件(windows)

    类似于grunt,都是基于Node.js的前端构建工具.不过gulp压缩效率更高. 工具/原料 nodejs/npm 方法/步骤 首先要确保pc上装有node,然后在global环境和项目文件中都in ...

  6. Asp.Net使用Yahoo.Yui.Compressor.dll压缩Js|Css

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

  7. ASP.NET MVC 4使用Bundle的打包压缩JS/CSS

    打包(Bundling)及压缩(Minification)指的是将多个js文件或css文件打包成单一文件并压缩的做法,如此可减少浏览器需下载多个文件案才能完成网页显示的延迟感,同时通过移除JS/CSS ...

  8. MVC打包压缩JS&CSS文件调试时过滤了一些文件

    BundleTable.这个确实是比较好用,打包并压缩了CSS,使之加载时减少流量. 但是在调试的时候会疑问为何有很多JS,CSS文件无法打包,其实是因为调试时VS自动过滤了如下文件:   后台跟踪了 ...

  9. maven压缩js css

    maven压缩<plugin> <!-- YUI Compressor Maven压缩插件 --> <groupId>net.alchim31.maven</ ...

随机推荐

  1. b,B,KB,MB,GB,TB,PB,EB,ZB,YB,BB,NB,DB的含义,之间的关系

    1bit=1位2进制信息 1B (byte 字节)1KB(Kilobyte 千字节)=2(10)B=1024B=2(10)B: 1MB(Megabyte 兆字节)=2(10)KB=1024KB=2(2 ...

  2. C#中使用打印日志

    在日常的工作中经常需要日志,这样能够很容易定位到代码中的一些错误,.Net中有自带的日志接口.并没有仔细去研究,这里是我自己写的日志接口,记录下来以便以后用到,根据时间打印相关的日志文件,代码如下: ...

  3. 1 CHM 中文都是乱码

    CHM格式是Windows系统里常见的帮助文档格式,但有时一些CHM格式的文档会局部显示乱码,特别是一些外文文档在中文版Windows里.这是因为,CHM格式文档在Windows下默认是使用IE浏览器 ...

  4. mybatis一级缓存详解

    mybatis缓存分为一级缓存,二级缓存和自定义缓存.本文重点讲解一级缓存 一:前言 在介绍缓存之前,先了解下mybatis的几个核心概念: * SqlSession:代表和数据库的一次会话,向用户提 ...

  5. GlusterFS卷的种类

    1.分布卷 在分布式卷中,文件随机扩展到卷中的砖块中. 使用分布式卷,需要扩展存储和冗余不是很重要,或由其他硬件/软件层提供. 创建语法:gluster volume create [transpor ...

  6. 在Hmtl页面中只让其中单独的一个div隐藏滚动条但是仍可滚动浏览下边的内容

    <style> .box ::-webkit-scrollbar {width: 0px;} </style> <div class="box"> ...

  7. python数据结构与算法第九天【选择排序】

    1.选择排序的原理 2.代码实现 def selection_sort(alist): n = len(alist) # 需要进行n-1次选择操作 for i in range(n-1): # 记录最 ...

  8. python数据结构与算法第十二天【快速排序】

    1. 原理如图所示: 2.代码实现 def quick_sort(alist, start, end): """快速排序""" # 递归的退 ...

  9. 《Tensorflow从入门到精通》

    第一 开发环境搭建 1. tensorflow的环境搭建 windows下安装cpu版tensorflow: pip install tensorflow 在ubuntu上安装gpu版tensorfl ...

  10. 实体类注解错误:Could not determine type for: java.util.List

    今天配置实体类注解时,出现以下错误: Caused by: org.hibernate.MappingException: Could not determine type for: java.uti ...