- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
每当我尝试让 imagemin 处理任何类型的图像时,我都会收到此错误:
21:54:49] 启动“imgmin”...
[21:54:49] 'imgmin' 在 47 毫秒后出错
[21:54:49] 类型错误:imagemin.jpegtran 不是函数
at imgmin (D:\Dropbox\Side Projects\JS learning\dev-gulp\gulpfile.js:92:26)
at bound (domain.js:419:14)
at runBound (domain.js:432:12)
at asyncRunner (D:\Dropbox\Side Projects\JS learning\dev-gulp\node_modules\async-done\index.js:55:18)
at processTicksAndRejections (internal/process/task_queues.js:75:11)
我目前正在使用:
这是我的 gulpfile.js:
let mainDir = 'gulp project test';
let gulp = require('gulp'),
browserSync = require('browser-sync').create(),
reload = browserSync.reload,
autoprefixer = require('gulp-autoprefixer'),
sass = require('gulp-sass'),
cleansCSS = require('gulp-clean-css'),
sourcemaps = require('gulp-sourcemaps'),
concat = require('gulp-concat'),
imagemin = require('gulp-imagemin'),
changed = require('gulp-changed'),
uglyfi = require('gulp-uglify'),
lineec = require('gulp-line-ending-corrector');
//set directories variables
let root = `../${mainDir}/`,
scss = root + 'sass',
js = root + 'src/js',
cssDist = root + 'dist/css'
jsDist = root + 'dist/js',
imgSRC = root + 'src/images/*',
imgDest = root + 'dist/images/*';
//set watch files
let phpWatcher = root + '**/*php', //glob pattern
styleWatcher = scss + '**/*.scss';
//set the order I want Gulp to concat JS files
let jsSRC = [
js + 'file1.js',
js + 'file2.js',
js + 'file3.js',
js + 'file4.js',
js + 'file5.js',
js + 'file6.js',
];
//set the order I want Gulp to concat CSS files
let cssSRC = [
root + 'src/css/file1.css',
root + 'src/css/file2.css',
root + 'src/css/file3.css',
root + 'src/css/file4.css',
cssDist + 'style.css'
];
function css() {
return gulp.src(scss + 'style.scss')
.pipe(sourcemaps.init({
loadMaps: true
}))
.pipe(sass({
outputStyle: 'expanded'
}).on('error', sass.logError))
.pipe(autoprefixer('last 2 versions'))
.pipe(sourcemaps.write())
.pipe(lineec())
.pipe(gulp.dest(cssDist))
}
function concatCSS() {
return gulp.src(cssSRC)
.pipe(sourcemaps.init({
loadMaps: true,
largefile: true
}))
.pipe(concat('style.min.css'))
.pipe(cleansCSS())
.pipe(sourcemaps.write('./maps/'))
.pipe(lineec())
.pipe(gulp.dest(cssDist));
}
function javascript() {
return gulp.src(jsSRC)
.pipe(concat('project.js'))
.pipe(uglyfi())
.pipe(lineec)
.pipe(gulp.dest(jsDist));
}
function imgmin() {
return gulp.src(imgSRC)
.pipe(changed(imgDest))
.pipe(imagemin([
imagemin.gifsicle({
interlaced: true
}),
imagemin.jpegtran({
progressive: true
}),
imagemin.optipng({
optimizationLevel: 5
})
]))
.pipe(gulp.dest(imgDest));
}
function watch() {
browserSync.init({
open: 'external',
proxy: 'http://localhost/dev',
port: 8080,
});
gulp.watch(styleWatcher, gulp.series([css, concatCSS]));
gulp.watch(jsSRC, javascript);
gulp.watch(imgSRC, imgmin);
gulp.watch([phpWatcher, jsDist + 'project.js', cssDist + 'style.min.css'])
}
exports.css = css;
exports.concatCSS = concatCSS;
exports.javascript = javascript;
exports.imgmin = imgmin;
exports.watch = watch;
let build = gulp.parallel(watch);
gulp.task('default', build);
我发现有人对 gifsicle 有同样的错误,并通过重新安装插件修复了它,但它对我不起作用。
最佳答案
我找到了答案并写在这里,以防有人遇到同样的问题。imagemin.jpegtran 已被 imagemin.mozjpeg 替代。此外,我必须安装 mozjpeg (npm install --save-dev imagemin-mozjpeg),因为在我撰写本文时,它似乎没有与 imagemin 一起安装。
关于javascript - 如何解决Gulp报错: imagemin. jpegtran is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60170048/
我的 grunt 文件在我的 MacBook Pro 上本地运行成功,但在我的 Ubuntu Plesk 服务器上运行失败,不知道出了什么问题。非常感谢您的帮助。 我注释掉了引用一个巨大图像库的部分,
我需要优化一些图像,但不能更改它们的名称。 jpegtran -copy none -optimize image.jpg > image.jpg 但是,这似乎创建了一个 0 的文件大小。当我对不同的
我想用命令行中的 jpg 图像优化整个测试文件夹。 我发现了这个,但它不起作用: cd /home/site/html/update/test/ find . -exec jpegtran -opti
一个多星期以来,我一直在寻找解决此错误的方法,但找不到任何东西。由于这个 imagemin-jpegtran,我无法在 Yeoman 上构建我的 dist 包 我尝试上传图片以显示错误并使事情变得更容
我有一个新编译的 libjpeg 版本 9,并尝试在命令行中使用以下参数运行 jpegtran.exe: .\jpegtran.exe -rotate 180 -outfile test_output
每当我尝试让 imagemin 处理任何类型的图像时,我都会收到此错误: 21:54:49] 启动“imgmin”... [21:54:49] 'imgmin' 在 47 毫秒后出错 [21:54:4
我发现关于这个问题的两篇博客文章略有冲突,我在这里总结一下: jpegoptim and jpegtran perform identically and produce identical resu
我在多个目录中有照片。我想使用 jpegtran(命令行工具)递归地遍历每一个,优化它并保存(覆盖它) 如果它们都在一个文件夹里,我就用这个 for JPEG in *.jpg ; do jpegtr
我是一名尝试开始使用 jpegtran 的 Windows 用户,但还没有找到实际访问该程序的方法。我发现的所有问题都从命令行开始,但在尝试复制命令时,我收到如下错误: 查看后this questio
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 7 个月前。 Improv
现在我有以下用于处理图像的批处理文件: @echo none cd %1 md "%~1\ProcessedJPEGS" for %%i in (*.jpg) do "C:\Program Files
我想压缩图片并通过管道传输到构建目录,但是运行任务后构建文件夹是空的。这是我的任务: // Gulp.js configuration // modules const gulp = require(
更新见底部 我遇到了一些奇怪的问题。对于初学者,我使用的是最新的 Eclipse CDT,在实现 do_rot_180 之前,编译器链接了文件夹 projectName/include 但之后它现在需
是否可以在 Windows 上使用 jpegtran 批量转换 JPEG 图像文件夹? 我通常对一个文件使用以下命令,但我不确定如何将它应用于 JPEG 文件的整个目录: jpegtran -copy
我正在使用扩展程序来优化 Magento 的图像。扩展需要在我的服务器上安装 gifsicle、jpegtran 和 optipng 但我不知道我将如何安装并获取安装的确切路径。谁帮我做这个 最佳答案
我有这个脚本来优化目录中的图像,我需要进行递归以优化子目录中的所有图像,保持文件名和文件夹结构不变。任何人都可以帮助修改此代码,以便修改中的图像子目录也有吗? @echo none cd %1 md
我有这个脚本来优化目录内的图像,我需要使这个递归以优化子目录中的所有图像,保持文件名和文件夹结构不变。任何人都可以帮助修改此代码以修改图像子目录也是? @echo none cd %1 md "%~1
我的应用尝试根据 exif 数据旋转图像。 我不断收到有关 jpegtran 的请求,提示“顺序 jpeg 的 SOS 参数无效”和 jhead 中止操作。显然这甚至不是一个致命警告,许多论坛都给出了
我有 100 种(也许 1000 种)产品,每个产品的 10-30 张图片都放在我放在一起的在线商店中。我需要在不降低图像质量的情况下尽可能优化图像的文件大小。 我没有直接使用 jpegtran、jp
我得到了 Yeoman 的 generator-angular-fullstack并运行 yo angular-fullstack (没有 Heroku),但后来我遇到了这些失败和错误: 3 fa
我是一名优秀的程序员,十分优秀!