大家好久不见,最近比较忙,这次跟大家分享的一个功能是利用Nodejs做的一键压缩合并JS/CSS/Images。
前言:
1.测试通过环境:
chrome v28.0.1500.71 + nodejs v0.10.18 / firefox v14.0.1 + nodejs v0.10.18
2.一键压缩文件存放位置:
根目录下的test文件夹(你也可以指定需要压缩的根目录,可以在前端传uglifyUrl这个值),你必须把
需要压缩的Js/Css/Images分别归类归好,如下图:
当然也可以这样,如下图:
目录层级深度可以无限长,只需注意两点:
1.要压缩的文件必须放在test(可在前端指定)目录下;
2.同一个目录下,只能放同一类型的文件,比如js文件夹里只能有js文件,css文件夹里只能有css文件,
图片文件夹里只能用图片类型文件(包括png/jpg/gif/jpeg…)
3.此功能需要安装的node模块(压缩包解压后模块已安装好):
socket.io :作用为客户端和服务器端的双向实时通信;
uglify-js :作用为js文件的压缩;
clean-css :作用为css文件的压缩;
node-smushit :作用为图片文件的压缩;
walk :作用为分析磁盘的目录结构;
4.功能介绍:
(1)当配置好nodejs服务器后,访问一键压缩页面http://127.0.0.1:3003,会出现如下图:
(2)当把需要压缩的文件放到test根目录下后,即可点击一键压缩按钮进行压缩,如下图:
(3)如果压缩图片不多的话,应该不到两分钟,即可压缩完毕,如下图:
(4)此时能达到的合并压缩效果,如下图
1.Js文件合并压缩:
2.Css文件合并压缩:
3. 图文文件压缩前与压缩后的容量对比:
5.常见错误分析:
(1) node模块安装有误,如下图
(2)压缩指定目录有误,如下图
(3)压缩的Js文件语法错误,或者压缩的目录文件夹中,存在未知的类型文件,会导致合并压缩无法进行下去,如下图:
6.有关IT界的其它事儿:
7.最后
相关推荐
Js/Css/Images 一键压缩功能,测试通过环境 chrome v28.0.1500.71 + nodejs v0.10.18 / firefox v14.0.1 + nodejs v0.10.18 压缩目录:test(你也可以指定需要压缩的根目录,可以在前端传uglifyUrl这个值),你必须...
nodejs系列学习:http请求html/css/js-----(二)
一键升级git/nodejs/npm/Docker Engine/Docker-Compose/Python脚本。
nodejs 一键安装包
一健国际化全流程解决方案,适用于Nodejs/VUE/REACT/uniapp等
"tmp_css_json_dir": "D:\\projects\\github_project\\merge_js_css\\examples\\json\\css", //css合并中间过程文件目录 "html_dir_path": "D:\\projects\\github_project\\merge_js_css\\examples\\html" \\待...
opencv4nodejs github地址 https://github.com/justadudewhohacks/opencv4nodejs#how-to-install
现在UglifyJS的最新版本为 2.8.13,主要功能为JS的压缩和合并,下面直接进入教程: 安装: <span xss=removed>npm install uglify-js -g</span> 将uglifyjs安装为全局变量,方便我们在任何地方使用。 下面是shell...
https://nodejs.org/en/download/ 公司内网打不开这个地址,上传资源 LTS版本
vue react javaweb nodejs 微信小程序 h5小游戏 一共6种项目合集,就是怕那天电脑挂掉,U盘坏了
前端面试题汇总,HTML/CSS/JavaScript/Jquery/移动App开发/nodejs
nodejs64位安装包,只适用于Windows系统。 解压后直接进行安装
安装npm/nodejs 二者之间的对应关系。 https://nodejs.org/zh-cn/download/releases/ 不建议自动安装(版本太老,且冲突) sudo apt -y install npm # 更新的并不是最新的。 sudo npm i npm@latest -g` sudo apt -...
使用nodejs插件UglifyJS2压缩js文件
nodejs 64位 官网http://nodejs.cn/ https://nodejs.org/en/
首先使用nodejs遍历当前的文件夹: // 遍历所有的文件 var fs = require(fs) var path = require(path) var relativePath = '\\test' // 拿到需要遍历的路径 var root = path.join(__dirname)+relativePath ...
UglifyJS是基于 NodeJS 的Javascript语法解析/压缩/格式化工具,它支持任何CommonJS模块系统的Javascript平台(实现自己的CommonJS平台也非难事)。 UglifyJS通过解析重新生成JS代码的语法树,你可以通过AST以了解更...
如何在nodejs项目中调用c++动态链接库,参考nodejs文档https://nodejs.org/dist/latest-v10.x/docs/api/addons.html#addons_c_addons 和 https://github.com/nodejs/node-gyp
Node.js是一个JavaScript服务器,支持可伸缩的高性能Web应用。借助异步I/O,这个服务器可以同时做很多事情,能满足聊天、游戏和实时统计等应用的需求。并且既然是JavaScript,那你就可以全栈使用一种语言。 本书向...