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之類的