A. nodejs使用jimp实现图片处理
在开发中,图片处理是逃不开的一个问题。 jimp 插件可以非常方便的实现图片的一些常见操作。
jimp插件支持常见的图片格式:
使用read方法把图片资源进行读取。读取之后可以使用jimp提供的API对图片做更多的操作。
原图
缩放之后
crop( x, y, w, h)
参数分别表示开始位置的x,y以及裁禅数穗剪的宽和高
裁剪的结果
rotate把毕培图片旋转指定的贺卜角度。
旋转结果
透明效果
效果
B. 如何使用nodejs 的 uglifyjs 压缩js文件
一、下载并安装NodeJS for Windows 0.6.5 或进入NodeJS官网下载最新版本。
二、查看版本:
运行cmd
node -v
npm -v
如果上诉两个命令出错,请打开系统环境变量Path,直接点确定。再试。
三、安装UglifyJS 这里我们安装最新的版本,具体版本可在npm官网查看,uglify-js版本页面。
npm install uglify-js -g
然后等待命令完成,这个过程时间可能有点长配液。
如果出错请删除
C:\Users\Administrator\猛誉AppData\Roaming\npm 内相关内容
C:\Users\Administrator\AppData\Roaming\npm-cache 内相关内容
C:\Users\Administrator 下的错误信息文件
然后再次运行
四、修改配置
上述安装后自动生成的配置文件是不可直接使用的,我们需要手工去修改。
打开C:\Users\Administrator\AppData\Roaming\npm\uglifyjs.cmd
内容为:
:: Created by npm, please don't edit manually.
"%~dp0\.\node_moles\uglify-js\bin\uglifyjs" %*
修改为:
:: Created by npm, please don't edit manually.
@IF EXIST "%~dp0"\"node.exe" (
"%~dp0"\"node.exe" "%~dp0\.\node_moles\uglify-js\培知物bin\uglifyjs" %*
) ELSE (
node "%~dp0\.\node_moles\uglify-js\bin\uglifyjs" %*
)
五、使用uglifyjs对javascript进行压缩美化
压缩:
uglifyjs f.js > f.min.js
美化:
uglifyjs -b f.min.js > f.b.js
C. 如何用nodejs压缩文件,生成tar包
压缩文件可以通过导流一个 fs.ReadStream 到一个 zlib 流,然后到一个 fs.WriteStream 来完成。
inp.pipe(gzip).pipe(out);
一步压缩或解压缩数据可以通过快捷方法来完成。
var buffer = new Buffer('eJzT0yMAAGTvBe8=', 'base64');
zlib.unzip(buffer, function(err, buffer) {
if (!err) {
console.log(buffer.toString());
}
});
要在 HTTP 客户端或服务器中使用此模块解决了。
D. Nodejs之gulp用法总结
一、nodeJS基础操作
(一)、安装nodeJS (node -v)
(二)、npm 包管理工具 (cnpm安装 : npm install gulp -g)
团猜 (三)、在项目中初始化package.json (nodejs的配置文件,在项目中安装的模块,会记录在package.json) npm init
塌洞型 (四)、在其他位置需要配置相关模块时,只需把pageage.json拷贝过来,执行 npm install,即可自动安装所需模块
二、gulp
1. 安装 (gulp -v)
(1)全局安装 npm i gulp -g
(2)本地安装: npm i gulp --save-dev
2. 在项目根目录创建 gulpfile.js
3. gulp.task() gulp.src() gulp.pipe() gulp.dest() gulp.watch()
4. gulp插件: (1)压缩css (2)压缩js (3) 合并js (4) 压缩图颤巧片 (5)自动添加前缀 autoprefixer (6)sass编译 (7)热刷新
E. Nodejs压缩和解压缩
最近在看nodejs相关知识,记录一下压缩和解压缩,我目前node环境:v14.16.0,迟伍不同版本引入和使用可能会有差异
第一、nodejs自带zlib使用
第二、码悉或社区第三方插件-compressing
压缩文件
压缩文件夹
解压缩文件到当前文件夹或者指定路径
解压缩文件夹
还是第三方库直接好用,zlib需要陆余自己去查看官网aip,版本不一样,用法也有差异,建议直接第三方库。。。
F. 如何用nodejs压缩文件,生成tar包
[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
现我test.tar文件通tar -xvf test.tar 解压缩文件夹test现我想解压缩文件夹名称直接改123,命令
G. 如何用nodejs压缩文件,生成tar包
调用命令行程序,传参数生成tar包
H. 如何用nodejs实现http压缩传输
推荐一个中间件,叫compression
使用见https://www.npmjs.com/package/compression
下面这个use中间件的语句写在所有中间件的前面就行了,抓包可看到有个gzip传输
app.use(compression());
I. Squoosh 批量高质量压缩图片
最近手里有一大批相机图片,需要分享给团队人员。但是原文件出来的图片太大,整整有几十个G。团队人员又不需要原图,只需要有全部的照片即可。为此,想把图片压缩成高质量图片以减少体积。
由于一直在用Google相册,对它之前采用高质量上传的图片印象不错,于是搜了搜Google的图片高质量压缩工具手正,找到了Squoosh。
浏览器输入网址 https://squoosh.app/ 即可访问Squoosh。Squoosh本身可离线使用,而且拥有美观界面,单独压缩几张图片相当毕山悔给力。
可以看到,80%压缩质量肉眼基本上分辨不出来区别,但是文件大小下降了三分之二。
但是这个界面只能一张张手工操作,对于几十个G图片来说就是个噩梦。网上搜了下squoosh批量压缩,竟然没有找到一篇合适、准确的介绍,没办法只能自己慢慢摸索。
在界面下方找到了Sqoosh CLI,应该是命令行版本的,点进去进入GitHub仓库。
[图片上传失唯毕败...(image-ed2ba2-1624621975250)]/cli/
]( https://upload-images.jianshu.io/upload_images/19092690-795a53cdb3f0d797.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )
看了下说明,应该不需要安装别的东西,能直接使用:
我能直接使用,要是不能用的话,可以先去安装一下nodejs。
使用方法:
注意 :这里有个坑,复制出来的参数直接用会报错,需要把 ' 和 " 给全部去掉才可以。
J. jquery怎么压缩图片质量与大小
jquery不能更改图片的体积。你可以试试服务端语言,如java php nodejs之类的