压缩JS,CSS的工具
目标:
压缩项目中的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的工具的更多相关文章
- 压缩 js/css 的工具
最近检测服务器,发现js/css文件都没有压缩过,动手解决此问题先. 本次压缩采用 yui compress (2.4.8) 压缩脚本: #!/bin/sh echo "########## ...
- PHP动态压缩js,css
PHP动态压缩js,css 列表项 标签: PHP 正式发布产品时,我们希望将项目里的js,css合并压缩,以减少http请求.防止轻易查看源代码. 使用 只需要在头部引入一下代码即可: <me ...
- gulp 压缩js,css
最近做的前端项目中发现引用的js包太多,导致页面加载时反应很慢,所以首先想到的是将js和css压缩,提高加载速度. 我们先来看看抓到的当前页面响应时间: 页面异步加载,需要响应时间 7.41秒,这也太 ...
- 开箱即用 - Grunt合并和压缩 js,css 文件
js,css 文件合并与压缩 Grunt 是前端自动化构建工具,类似webpack. 它究竟有多强悍,请看它的 介绍. 这里只演示如何用它的皮毛功能:文件合并与压缩. 首先说下js,css 合并与压缩 ...
- gulp入门-压缩js/css文件(windows)
类似于grunt,都是基于Node.js的前端构建工具.不过gulp压缩效率更高. 工具/原料 nodejs/npm 方法/步骤 首先要确保pc上装有node,然后在global环境和项目文件中都in ...
- Asp.Net使用Yahoo.Yui.Compressor.dll压缩Js|Css
网上压缩css和js工具很多,但在我们的系统中总有特殊的地方.也许你会觉得用第三方的压缩工具很麻烦.我就遇到了这样问题,我不想在本地压缩,只想更新到服务器上去压缩,服务器压缩也不用备份之类的操作.于是 ...
- ASP.NET MVC 4使用Bundle的打包压缩JS/CSS
打包(Bundling)及压缩(Minification)指的是将多个js文件或css文件打包成单一文件并压缩的做法,如此可减少浏览器需下载多个文件案才能完成网页显示的延迟感,同时通过移除JS/CSS ...
- MVC打包压缩JS&CSS文件调试时过滤了一些文件
BundleTable.这个确实是比较好用,打包并压缩了CSS,使之加载时减少流量. 但是在调试的时候会疑问为何有很多JS,CSS文件无法打包,其实是因为调试时VS自动过滤了如下文件: 后台跟踪了 ...
- maven压缩js css
maven压缩<plugin> <!-- YUI Compressor Maven压缩插件 --> <groupId>net.alchim31.maven</ ...
随机推荐
- 软件工程(FZU2015) 助教总结
SE_FZU目录:1 2 3 4 5 6 7 8 9 10 11 12 13 本次构建之法-SE助教工作,和福州大学张老师协作,福大学生基本发挥出了一定水平,在此做个小结. 教师 张老师本身的SE教学 ...
- Golang 字符串操作--使用strings、strconv包
strings包 package main import ( "fmt" "strings" ) func main() { //func Count(s, s ...
- 字符串正则替换replace第二个参数是函数
zepto中 //将字符串转成驼峰式的格式 camelize = function (str) { return str.replace(/-+(.)?/g, function (match, chr ...
- springmvc配置文件
1 springMVC的配置文件路径问题 https://www.cnblogs.com/ysloong/p/6071450.html
- 如何使用 Yum Repository 安装指定版本的 MySQL
自从从使用 debian 系的 apt-get 转到使用 yum 工具之后一直不是很习惯,也没有去看过很多工具包安装的时候到底影响到了哪些文件等.这次借这次社区版 MySQL 安装来一并梳理一下. 首 ...
- 【转】 Golang输入输出格式化Printf Springf Fprintf..
// Go 在传统的`printf` 中对字符串格式化提供了优异的支持. // 这里是一些基本的字符串格式化的人物的例子. package main import "fmt" im ...
- python学习笔记(1)--python特点
python诞生于复杂的信息系统时代,是计算机时代演进的一种选择. python的特点,通用语言,脚本语言,跨平台语言.这门语言可以用于普适的计算,不局限于某一类应用,通用性是它的最大特点.pytho ...
- ArcGIS 添加 MarkerSymbol 弹出“图形符号无法序列化为 JSON”错误
今天在做一个demo,向自定义图层中添加MarkerSymbol的时候,弹出“图形符号无法序列化为 JSON”错误,之前都没有出现过这个问题,我们首先来看一看我是怎样去添加图层,然后向图层中添加Gra ...
- python设计模式第六天【原型模式】
1.定义 使用原型模式复制的对象与原来对象具有一样的结构和数据,有浅克隆和深克隆 2.应用场景 (1)希望复制原来对象的结构和数据胆步影响原来对象 3.代码实现 #!/usr/bin/env pyth ...
- 用MyEclipse自带工具生成WebService客户端代码
本文章主要是介绍如何利用已经发布了的Webservice的wsdl来自动生成java的客户端代码.注意:本方法需要你采用的java版本是1.5或者以上的版本,采用MyEclipse来自动生成代码. w ...