压缩js代码
① 如何压缩网站里的css 和js文件 来减少空间的使用率,是网站打开速度加快
你好,个人建议从几个方面入手:
1、在服务器上启用GZIP压缩,添加css等静态文件等。
2、把主页、内容页的CSS分开写,公共部分单独用一个CSS,这样就可以减少CSS的大小。
3、优化CSS语法,并可以使用工具压缩,但要注意用多个浏览器测试。
4、将一些JS调用尽量放到网页底部
② 求助前端JS都是用什么加密的
js的不可读化处理分为三个方面:压缩(compression)、混淆(obfuscation) 和加密(encryption)。
1. 压缩
这一操作的目的,是让最终代码传输量 (不代表代码量, 也不代表文件体积)尽可能小。压缩js的工具,常见的有:YUI Compressor、UglifyJS、Google Closure Compiler 等。
通常在代码压缩的过程中,只改变代码的语法,代码的语义和控制流不会有太大改变。
常见做法是把局部变量缩短化,把一些运算进行等价替换等。代码压缩对于代码保护有一些帮助,但由于语义和控制流基本没变,起不了太大作用。
在压缩层面上,代码不可读只是一种附带伤害,不是最终目的。
2. 混淆
这一操作的目的,是让代码尽可能地不可读,主要用作代码保护。
让代码不可读,增加分析的难度,这是唯一目的。混淆过后文件体积变大一倍也没关系,代码量变多也没关系,运算慢50% 也没关系。
常见的做法有:分离常量、打乱控制流、增加无义代码、检查运行环境如果不对就罢工,等等。
在混淆层面上,代码不可读是最终目的。
值得一提的是,Google Closure Compiler 的 Advance Level Compression 会压缩类和对象的成员,其压缩结果很难分析,也可以认为是一种混淆,但兼容性不太好。
3. 加密
有加密就有解密,意味着加密操作可逆,密文可以明文化。
在Web界,可以称之为加密的东西包括:HTTPS传输、javaScript实现对称加密或者不对称加密等等。
③ YUICompressor使用配置方法JSCSS压缩工具
YUI Compressor 是一个用来压缩 JS 和 CSS 文件的工具,采用Java开发。
使用方法:
//压缩JS
java -jar yuicompressor-2.4.2.jar --type js --charset utf-8 -v src.js > packed.js
//压缩CSS
java -jar yuicompressor-2.4.2.jar --type css --charset utf-8 -v src.css > packed.css
YUI Compressor v2.4.2
安装指南
=========
JDK环境变量配置的步骤如下:
1.我的电脑-->属性-->高级-->环境变量.
2.配置用户变量:
a.新建 JAVA_HOME
C:Program FilesJavaj2sdk1.5.0 (JDK的安装路径)
b.新建 PATH
;%JAVA_HOME%in;%JAVA_HOME%jrein
c.新建 CLASSPATH
%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar
3.测试环境变量配置是否成功:
开始-->运行--〉CMD
键盘敲入: JAVAC
出现相应的命令,而不是出错信息,即表示配置成功!
先下载jdk
需要安装 JDK >= 1.4, 并设置环境变量 JAVA_HOME
桌面 -> 我的电脑 -> 右键 -> 属性 -> 高级 -> 环境变量系统变量 新建
安装步骤:
1. 安装请点击 install.cmd
2. 卸载请点击 uninstall.cmd
3. 如果安装过之前的版本,请先卸载老版本
压缩测试:
选中 test.js, 执行右键菜单“Process with &YUICompressor”,会生成 test-min.js.
注意事项:
1. 需要安装 JDK >= 1.4, 并设置环境变量 JAVA_HOME
2. css 和 js 文件编码必须是 GB2312, GBK 或 GB18030. 如果要支持 UTF-8, 请在 compressor.cmd 中将 GB18030 替换为 UTF-8
3. css 文件中含有中文时,如果 css 编码和页面编码不一致,需要手动将中文替换为xxxx, 详细说明请参考 compressor.cmd 中的说明
4. 如果不需要 native2ascii, 可以只安装 JRE (需要手动修改下 compressor.cmd)
Ref:
1. Introcing the YUI Compressor: http://www.julienlecomte.net/blog/2007/08/11/
2. YUILibrary: http://yuilibrary.com/projects/yuicompressor/wiki
3. Documentation: http://developer.yahoo.com/yui/compressor/
4. native2ascii.exe: http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/native2ascii.html
以下是配置补充:
使用YUI Compressor压缩JS和Css
常用示例(在cmd中执行)
java -jar D:yuicompressor-2.4.6uildyuicompressor-2.4.6.jar --type js --charset UTF-8 D:my.js -o D:my-min.js
java -jar D:yuicompressor-2.4.6uildyuicompressor-2.4.6.jar --type css --charset UTF-8 D:my.css -o D:my-min.css
–type指定要打包的文件类型,可选的有 js和css
–charset 指定字符集
-o 指定输出的文件名,如果不指定这个参数将会把压缩后的内容输出到命令行上
最后的my.js和my.css是要打包的debug版源文件
如果没有给定charset参数,则字符集默认是系统的,此处指定了UTF-8,更加你的实际需要修改。具体语法和其他参数参考:http://www.julienlecomte.net/yuicompressor/
使用YUI Compressor和DOS批处理脚本压缩JavaScript和CSS,加上IIS的GZIP,加起来能得到85%左右的压缩率。(其中YUI Compressor的压缩率大约为50%)也可以修改参数获得更多的压缩率。
---------------------------------------------华丽分割线---------------------------------------
制作批处理工具
三个文件:
批处理文件:yuicompressor.bat
注册表文件:yuicompressor.reg
压缩jar包:yuicompressor-2.4.6.jar
文件目录:D:serverf2etoolsyuicompressor
yuicompressor.bat批处理使用方法:
对整个文件夹右键点击【YUI-Compressor JS/CSS】批量压缩操作生成-min.css或-min.js,源文件不变,项目平时开发时引用源文件,上线前引用压缩文件测试正常后再上线。
yuicompressor.bat批处理文件代码:
复制代码代码如下:
cd "%1"
for /f %%a in ('dir /b *-min.js') do call:ProcessDel: %%a
for /f %%a in ('dir /b *-min.css') do call:ProcessDel: %%a
for /f %%a in ('dir /b *.js') do call:ProcessCompress: %%a
for /f %%a in ('dir /b *.css') do call:ProcessCompress: %%a
:ProcessDel
IF NOT [%1]==[] call:DeleteMinFiles: %1
GOTO:EOF
:ProcessCompress
IF NOT [%1]==[] call:CompressFiles: %1
GOTO:EOF
:DeleteMinFiles
IF EXIST "%CD%\%1" del "%CD%\%1"
GOTO:EOF
:CompressFiles
java -jar D:-2.4.6.jar %1 -o %~n1-min%~x1
GOTO:EOF
yuicompressor.reg注册表功能:选中文件夹后,右键,会多一个选项【YUI-Compressor JS/CSS】
yuicompressor.reg注册表文件代码:
复制代码代码如下:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOTDirectoryshellCompress JS/CSS Files]
@="YUI-Compressor JS/CSS"
[HKEY_CLASSES_ROOTDirectoryshellCompress JS/CSS Filescommand]
@="D:\server\f2etools\yuicompressor\yuicompressor.bat %1"
注意事项:请修改两个文件中的目录路径
批处理文件:yuicompressor.bat和注册表文件:yuicompressor.reg
---------------------------------------------华丽分割线---------------------------------------
打包压缩pack-all-min.js
文件如下:
批处理文件:pack-js.bat
需要打包的目录文件:pack-list.txt
pack-js.bat 代码:
复制代码代码如下:
for /f %%i in (packList.txt) do type %%i >> pack-all.js
java -jar D:-2.4.6.jar --type js --charset utf-8 pack-all.js -o pack-all-min.js
pack-list.txt
jquery.ui.datepicker.js
jquery.ui.dialog.js
jquery.ui.draggable.js
jquery.ui.mouse.js
使用方法:
在当前js文件夹里放入这两个文件,平时开发用多个源文件,运行pack-js.bat后查看页面效果,上线前打包成一个压缩文件,测试无误后再上线。
④ JS压缩谁最强对比5款JS代码压缩工具
在众多JS代码压缩工具中,谁的实力最为强大?本文对比了JShaman、minify-js、toptal、JSCompress以及一款未命名的工具,来揭示它们的压缩效果。
首先,测试用的JS代码原本大小为674字节。JShaman的表现最为亮眼,压缩后体积仅为207字节,压缩率高达惊人67%。相比之下,minify-js和JSCompress的压缩后体积都在390字节左右,效果稍逊于JShaman。而那位未知品牌的工具,压缩后仍有498字节,效果最不理想。
JShaman作为专业级工具的代表,不仅有无效代码清理和逻辑优化功能,还允许用户根据需求调整变量名长度等设置。然而,UglifyJS,这个国外知名的压缩工具,多用于开发环境或命令行操作,它在本文测试的jscompress中与babel-minify一起工作,因此没有单独列出。
补充测试显示,UglifyJS的压缩效果为394字节,同样显示出较强的实力。然而,那些无品牌工具仅能简单去除代码的换行和注释,对代码结构的优化有限。
综上所述,专业的JS压缩工具如JShaman能对代码进行深度优化和重构,显着减少代码体积。因此,建议在选择JS压缩工具时,优先考虑那些具备专业优化功能的工具,以获得最佳的压缩效果。