text 图像由Node.js任务缩小。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了text 图像由Node.js任务缩小。相关的知识,希望对你有一定的参考价值。
const glob = require('glob')
const mkdirp = require('mkdirp')
const imagemin = require('imagemin')
const pngquant = require('imagemin-pngquant')
const mozjpeg = require('imagemin-mozjpeg')
const gifsicle = require('imagemin-gifsicle')
const svgo = require('imagemin-svgo')
const {
readFile,
writeFile
} = require('fs')
const {
dirname,
extname,
join,
relative
} = require('path')
const plugins = {
png: pngquant({
quality: [0.8, 0.9], // 0 ~ 1
speed: 1
}),
jpg: mozjpeg({
quality: 80 // 0 ~ 100
}),
gif: gifsicle({
optimizationLevel: 3 // 1 ~ 3
}),
svg: svgo({})
}
glob('src/**/*.+(png|jpg|gif|svg)', (err, files) => {
if (err) {
console.log(err)
return
}
for (const file of files) {
readFile(file, 'base64', (err, img) => {
if (err) {
console.log(err)
return
}
if (!img) {
return
}
(async () => {
const _ext = extname(file).replace('.', '')
const _buf = await imagemin
.buffer(new Buffer(img, 'base64'), {
plugins: [
plugins[_ext],
],
})
.catch((err) => {
if (err) {
console.log(err);
return;
}
})
const _dest = join('./dest', relative('./src', file))
mkdirp(dirname(_dest), (err) => {
if (err) {
console.log(err)
return
}
writeFile(_dest, _buf, (err) => {
if (err) {
console.log(err)
return
}
})
console.log(`finish: ${ file }`)
})
})()
})
}
})
以上是关于text 图像由Node.js任务缩小。的主要内容,如果未能解决你的问题,请参考以下文章
缩小会影响 Node.js 的性能吗?
Node.Js:资源解释为字体但使用 MIME 类型 text/html 传输
Node.js:将 Android-Base64 编码图像另存为文件
Heroku 构建失败 - 推送被拒绝,无法编译 node.js 应用程序,无法缩小包,许多错误
Node.js 微服务实践
在 Heroku 上运行 Grunt 构建任务