最近写一个jQuery插件,在最后完成优化时,对比发现压缩后文件比较大,就思考那些是可以被修改和优化的,发现压缩原理也有很大的空间可以学习,通过这次对YUI Compressor压缩JavaScript深有体会,那些是可以被压缩的,特别是那些不能被压缩的,都需要很清楚,这样才能写出来的插件才能保持文件更小,代码更精巧,而且优化的过程中也会发现代码待改良的地方,对以后也有很大帮助。随便在网上找来一篇文章做记录了。 YUI Compressor ...
问题缘由:负责公司的开发平台研发工作,考虑的知识产权的保护工作,必须要考虑java的加密技术和js脚本的加密技术。在目前java加密很容易破解的情况下,还是先搞定js的加密和压缩,一方面可以提高页面加载性能,另外一方面也希望辛苦研发出来的成果得到一定的保护。 研究过程: 1、先强烈鄙视一下哪些随便转载文章的家伙,给我制造了很大的麻烦!!网上很多帖子都不靠谱。。 2、首先想了解jquery使用什么压缩的, 网上找了半天,说...
自己写了个简单的HTML5 Canvas的图表库,可以支持饼图,折线图,散点图,盒子图 柱状图,同时支持鼠标提示,绘制过程动画效果等。最终我想把这些多个JS文件变成 一个JS文件发布出去,于是我的问题来啦,怎么把这些JS文件搞成一个啊,群里有个 朋友告诉我,GruntJS – JavaScript多文件编译,风格检查,链接与压缩神器。Google了一 把终于帮我完成这个任务,算是入门,分享一下过程。 一什么是GruntJS 不想翻译英文,自己看它的网站...
代码如下:function zipNum(num, radix){ if(!zipNum.zip){ zipNum.zip = function(inputNum){ if(inputNum > 35){//用大写字母表示36-61 return String.fromCharCode(A.charCodeAt(0) + inputNum % 36); } else if(inputNum > 9){//用小写字母表示10-35 return String.fromCharCode(a.charCodeAt(0) + inputNum % 10); } else { return ...
有如下步骤: 1.新建项目Bejs2.新建文件package.json3.新建文件Gruntfile.js4.命令行执行grunt任务 一、新建项目Bejs源码放在src下,该目录有两个子目录asset和js。js下放selector.js和ajax.js,这在上一篇已经讲了如何合并压缩它们。这篇只关注asset目录,asset目录下放了一些图片和css文件。一会会把两个css资源reset.css和style.css合并,压缩到dest/asset目录。一个合并版本all.css,一个压缩版本all-min.css。二、新建packag...
推荐5款优秀的JavaScript代码压缩工具。代码压缩(也称代码最小化)是一个从源代码中消除所有不必要的字符的过程,包括删除所有不必要的空格字符、新行字符、评论等。代码压缩不影响源代码的功能,却提高加载时间(和web应用程序的性能),因为,要下载的文件的大小减少了。 以下是5款优秀的JavaScript代码压缩工具,我相信,他们定可以将你的脚本变得更轻巧,代码性能更出色。 一、YUI CompressorYahoo出品!YUI Compressor是一个...
这种情况精简后查错的方法:打开IE的脚本错误提示,然后打开调用JS的HTML页面,它会报告缺少分号的所在位置,然后用UE打开精简后JS文件,转到相应位置加上分号,再找到未精简的JS代码中对应的位置加上分号。 例如:代码如下: var a=1 var b=2改为:代码如下: var a=1; var b=2;◆尽量在else后面的语句使用大括号 这种情况查错起来比较麻烦,通过正则表达式 else[a-zA-Z0-9]+ 来查找精简后的JS文件,或者查找else后面是否有注释的行...
JSA的压缩过程分两步 第一步是语法压缩,类似于Dojo ShrinkSafe,但比他安全,且更加有效。 第二步是文本压缩,目前采用的是 JavaScript Compressor的压缩算法。 (http://dean.edwards.name/packer/ ) 这些都可以在设置窗口设置。 默认情况先用语法压缩,当文件大于1000byte且采用文本压缩仍然可以压缩到原来大小90%时才在原来基础上采用文本压缩。 下面来一段脚本压缩示例,展示一下JSA语法压缩和优化功能。代码如下: try { //x...
下面通过文字说明和代码分析的方式给大家分享移动端图片上传之localResizeIMG先压缩后ajax无刷新上传,具体实现过程请看下文。 现在科技太发达,移动设备像素越来越高,随便一张照片2M+,但是要做移动端图片上传和pc上略有不同,移动端你不能去限制图片大小,让用户先处理图片再上传,这样不现实。所以理解的解决方案就是在上传先进行图片压缩,然后再把压缩后的图片上传到服务器。 一翻google之后,发现了localResizeIMG,它会对图...
zip.js是什么 zip.js的github项目地址:http://gildas-lormeau.github.io/zip.js/通过zip.js封装一个能在网页端生成zip文件的插件, 直接在网页中创建包含文件夹和文件的压缩包,也可以自定义名字并下载;如何使用:1:引用zip.js2:引用jQuery;3:并引用封装的ZipArchive.js ,(因为zip.js的api使用起来比较繁琐,所以自己封装实现了这个插件)4:引用mime-types.js;查看DEMO, 使用方式为: 运行下面代码var z = new ZipArchive;z...
在项目使用了AngularJS框架,用RequireJS做异步模块加载(AMD),在做文件合并压缩时,遇到了一些坑,有些只是解决了,但不明白原因。 那些坑 1. build.js里面的paths必须跟main.js里面的保持一致。 这个build.js就是r.js使用的配置文件,而main.js就是RequireJS的main文件。在合并压缩时候,build.js文件里面也需要写paths,而且还是跟main.js一样,我很奇怪为什么就不能识别main里面的require.config的paths,省得合并的时候还要...
浏览器控制台看一下RequestHeader有一个Accept-Encoding,而RespondHeaders中也会有一个Content-Encoding和他进行对应. Accept-Encoding当我们的浏览器发起一个文件的请求时告诉服务器支持哪几种压缩方式,也就是服务器用这几种压缩方式浏览器都能解压,当服务器接收到请求后,知道浏览器支持的压缩方式,服务器就会自动识别其中一种进行压缩并且告诉浏览器自己用了哪个方式压缩,浏览器知道后就知道用哪种对应方式解压了 根据拓展名...
这段时间用 Vue2.0 开发项目,每次打包都会用到 npm run build 命令,但是每次部署时给后端发包都要手动zip压缩,这样一两次还行,但遇到项目板块测试和临时加急功能测试的时候,一天可能就要打包好多次,这就很烦了。所以索性在执行 npm run build 命令时就直接打包成zip文件,方便省事! 1、插件装备webpack插件:filemanager-webpack-plugin,该插件可执行打包,复制,移动,删除文件以及新文件夹在build之前及之后创建。安装:...
业务场景微信端项目是基于Vux + Axios构建的,关于图片上传的业务场景有以下几点需求: 1、单张图片上传(如个人头像,实名认证等业务) 2、多张图片上传(如某类工单记录) 3、上传图片时期望能按指定尺寸压缩处理 4、上传图片可以从相册中选择或者直接拍照 遇到的坑采用微信JSSDK上传图片在之前开发的项目中(mui + jquery),有使用过微信JSSDK的接口上传图片,本想应该能快速迁移至此项目。事实证明编程没有简单的事: 1、按指定尺寸压缩...
一、关于js上传图片压缩的方法,百度有很多种方法,这里我参考修改了一下 function photoCompress(file, w, objDiv) { var ready = new FileReader(); /*开始读取指定的Blob对象或File对象中的内容. 当读取操作完成时,readyState属性的值会成为DONE,如果设置了onloadend事件处理程序,则调用之.同时,result属性中将包含一个data: URL格式的字符串以表示所读取文件的内容.*/ ready.readAsDataURL(file); ready.onload = function() {...