Ⅰ 如何使用nodejs 的 uglifyjs 压缩js文件
[js压缩]uglifyjs source.js -mc -o target.min.js
以压缩angular.js为例,可以压缩局部变量名,去掉无用的局部变量,空白符等,压缩比例接近80%,效率不错
[user_00@localhost ~]$ uglifyjs angular.js -mc -o angular.min.js
WARN: Dropping unused function isBoolean [angular.js:416,9]
WARN: Dropping unused function makeMap [angular.js:446,9]
WARN: Dropping unused function size [angular.js:488,9]
WARN: Dropping unused function isLeafNode [angular.js:523,9]
WARN: Dropping unused function argument boundTranscludeFn [angular.js:4682,27]
WARN: Dropping unused function argument rootElement [angular.js:4681,16]
WARN: Dropping unused function argument nodeList [angular.js:4680,17]
WARN: Dropping unused function argument scope [angular.js:4679,22]
WARN: Dropping unused function nodesetLinkingFn [angular.js:4678,9]
WARN: Dropping unused function argument boundTranscludeFn [angular.js:4690,27]
WARN: Dropping unused function argument rootElement [angular.js:4689,16]
WARN: Dropping unused function argument node [angular.js:4688,13]
WARN: Dropping unused function argument scope [angular.js:4687,22]
WARN: Dropping unused function argument nodesetLinkingFn [angular.js:4686,25]
WARN: Dropping unused function directiveLinkingFn [angular.js:4685,9]
WARN: Dropping unused function stripHash [angular.js:5009,9]
WARN: Dropping unused variable NG_SWITCH [angular.js:13857,4]
WARN: Dropping unused variable fns [angular.js:1536,8]
WARN: Dropping unused variable events [angular.js:1536,13]
WARN: Dropping unused function wrongMode [angular.js:3879,13]
WARN: Dropping unused function argument cause [angular.js:4799,31]
WARN: Dropping unused function argument exception [angular.js:4799,20]
WARN: Dropping unused function argument args [angular.js:8165,28]
WARN: Dropping unused function argument args [angular.js:8231,33]
WARN: Dropping unused function argument names [angular.js:9018,32]
WARN: Dropping unused function argument name [angular.js:9030,40]
WARN: Dropping unused variable value [angular.js:9230,14]
WARN: Dropping unused function argument value [angular.js:12475,36]
[user_00@localhost ~]$ ls -lh angular.*
-rw-rw-r-- 1 user_00 user_00 479K Apr 5 01:53 angular.js
-rw-rw-r-- 1 user_00 user_00 79K May 4 16:09 angular.min.js
Ⅱ [娌圭尨鑴氭湰寮鍙戞寚鍗梋JSZIP搴揿帇缂╄В铡嬫枃浠
鍦ㄥ墠绔寮鍙戜腑锛孞SZip镞犵枒鏄涓鎶婂己澶х殑鐟炲+鍐涘垁锛屽畠璁╂垜浠鑳藉熻交𨱒惧疄鐜版枃浠剁殑铡嬬缉涓庤В铡嬨傛帴涓嬫潵锛岃╂垜浠涓璧锋繁鍏ヤ简瑙e备綍鍦ㄩ”鐩涓浼橀泤鍦拌繍鐢ㄨ繖涓搴撱
棣栧厛锛屽垱寤轰竴涓狫SZip瀹炰緥灏卞儚镓揿紑涓镓囬氩线鏂囦欢镎崭綔镄勬柊绐楀彛:
阃氲繃瀹幂殑 file 鍜 folder 鏂规硶锛屾垜浠鍙浠ユ坊锷犳枃浠朵笌鐩褰:
姣忔¤皟鐢ㄨ繖浜涙柟娉曞悗锛岃繑锲炵殑閮芥槸zip瀹炰緥链韬锛屼究浜庢垜浠阈惧纺璋幂敤锛屾搷浣沧洿涓虹洿瑙:
鏂囦欢鍐呭圭殑璇诲彇钖屾牱绠鍗曪纴镞犺烘槸瀛楃︿覆杩樻槸浜岃繘鍒舵暟缁:
鐢熸垚zip鏂囦欢镞讹纴鎴戜滑鍙浠ラ夋嫨杈揿嚭涓哄瓧绗︿覆鎴栦簩杩涘埗鏁扮粍:
锷犺浇zip鏂囦欢镞讹纴纭淇濅娇鐢ㄤ簩杩涘埗鏁版嵁:
镐荤殑𨱒ヨ达纴JSZip鏄涓涓寮哄ぇ涓旂伒娲荤殑宸ュ叿锛屼絾锷″繀娉ㄦ剰鍏跺眬闄愭т互纭淇濆湪椤圭洰涓鎭板綋鍦颁娇鐢ㄣ傜幇鍦锛屼綘宸茬粡鎺屾彙浜嗗熀链镄勪娇鐢ㄦ柟娉曪纴鏄镞跺椤湪浣犵殑椤圭洰涓澶ф樉韬镓嬩简锛
Ⅲ webpack怎么压缩js
准确来说,在package.json中有一个scripts的一个配置,这个配置中中一个build:webpack -p 需要在cmd中输入yarn run build命令,就可以进行打包压缩编译
Ⅳ 百度js和css合并压缩是如何做的
简单来说是通过插件实现,当然现在淘宝出的服务器(nginx修改版)自带有这个功能。 通过一个url地址里写上每个js或者css 路径,然后插件通过路径将js/css 进行gzip形式压缩,最后组合成一个文件输出。你能看到的输出格式是php后缀,但是输出文件的表头是js/CSS 这样浏览器也就当是js/css来解析了。
合并代码工具我推荐minify (PHP),这个比较早,也很简单。
压缩的话网上有很多地方都提供在线压缩
简单说说 JS压缩:
1. 长变量变量名 压缩为短变量名,去空格,去注释
2. 可以将 new Array() 改写为 [], new Object 改写为{} 云云
3. 使用eval, 关键词等等 的复杂逻辑 也可以压缩
这样处理过后,如果觉得还是太大了,还可以采用服务端的gzip压缩传输
Ⅳ 使用vue-cli生成的vendor.js文件太大,有办法减少体积吗
使用“js压缩”工具可缩小体积,可网络搜索“js压缩”查找工具
把vendor.js代码ctrl + a全选,再ctrl + c复制,粘贴到js压缩工具里,点击“压缩”或“普通压缩”,然后再把压缩后的代码复制粘贴到vendor.js文件中。