🔥 با کمک هوش مصنوعی در کمتر از 6 ماه فول‌استک شوید ...
۰ ثانیه
۰ دقیقه
۰ ساعت
۵ حور خوئینی‌ها
درست کار نکردن imagemin
استاد ماندیس بحرینی حل شده توسط استاد ماندیس بحرینی

سلام دوستان 

ببخشید من در اجرا imagemin به مشکل بر خوردم 

طبق گفته‌های شما در تاپیک‌های مشابه تا جایی تونستم به نتیجه برسم ولی باز هم با این ارور مواجه میشم 

PS D:\project\gulp js\gulpApp> gulp minifyimg
[18:00:42] Using gulpfile D:\project\gulp js\gulpApp\gulpfile.js
[18:00:42] Starting 'minifyimg'...
[18:00:42] 'minifyimg' errored after 12 ms
[18:00:42] TypeError: imagemin is not a function
    at D:\project\gulp js\gulpApp\gulpfile.js:20:9
    at taskWrapper (D:\project\gulp js\gulpApp\node_modules\undertaker\lib\set-task.js:13:15)
    at bound (domain.js:402:14)
    at runBound (domain.js:415:12)
    at asyncRunner (D:\project\gulp js\gulpApp\node_modules\async-done\index.js:52:18)
    at process._tickCallback (internal/process/next_tick.js:61:11)

و کد‌های من هم به صورت زیر هست :

const gulp = require('gulp');
const imagemin = import('gulp-imagemin');
// gulp.task - define tasks
// gulp.src -point to file to use 
// gulp.dest - point to folder to output 
// gulp.watch - watch files and folder for changes
// print msg
gulp.task('msg',async function(){
 return console.log('this is my first task with gulp!!!!')
});
 /// copy html files to dist folder 
 gulp.task('copyhtml' , async function(){
    gulp.src('src/*.html')
    .pipe(gulp.dest('dist'));
 });
 // minify images
gulp.task('minifyimg',async function(){
	gulp.src('src/assets/img/*')
		.pipe(imagemin())
		.pipe(gulp.dest('dist/asstes/img'))
});

ممنون میشم راهنماییم کنین 

سلام،

بجای import از require استفاده کنید:

const imagemin = require('gulp-imagemin');
استاد ماندیس بحرینی ۱۴ دی ۱۴۰۳، ۲۲:۳۶

از require استفاده کردم ولی کلا کار نمیکرد

حور خوئینی‌ها ۱۵ دی ۱۴۰۳، ۰۵:۴۱

نسخه جدید imagemin از ESM Module پشتیبانی میکنه.

کد رو به شکل زیر تغییر بده:

import gulp from 'gulp';
import imagemin from 'gulp-imagemin';
// Print message
gulp.task('msg', async function () {
    console.log('this is my first task with gulp!!!!');
});
// Copy HTML files to dist folder
gulp.task('copyhtml', async function () {
    return gulp.src('src/*.html')
        .pipe(gulp.dest('dist'));
});
// Minify images
gulp.task('minifyimg', async function () {
    return gulp.src('src/assets/img/*')
        .pipe(imagemin())
        .pipe(gulp.dest('dist/assets/img'));
});
export default gulp.series('msg', 'copyhtml', 'minifyimg');

همچنین فایل package.json رو باز کن و بخش زیرو بهش اضافه کن:

"type": "module",
بهترین پاسخ
استاد ماندیس بحرینی ۱۵ دی ۱۴۰۳، ۰۸:۰۴

انجام دادم  و با این ارور مواجه شدم دوباره 

PS D:\project\gulp js\gulpApp> gulp minifyimg
[13:44:52] Using gulpfile D:\project\gulp js\gulpApp\gulpfile.js
[13:44:52] Starting 'minifyimg'...
[13:44:52] 'minifyimg' errored after 9.47 ms
[13:44:52] TypeError: pipeTo.on is not a function
    at ReadableState.pipe (D:\project\gulp js\gulpApp\node_modules\streamx\index.js:277:14)
    at Transform.pipe (D:\project\gulp js\gulpApp\node_modules\streamx\index.js:728:25)
    at file:///D:/project/gulp%20js/gulpApp/gulpfile.js:16:10
    at taskWrapper (D:\project\gulp js\gulpApp\node_modules\undertaker\lib\set-task.js:13:15)
    at bound (node:domain:433:15)
    at runBound (node:domain:444:12)
    at asyncRunner (D:\project\gulp js\gulpApp\node_modules\async-done\index.js:52:18)
    at process.processTicksAndRejections (node:internal/process/task_queues:85:11)

این چیزی که من متوجه شدم به قسمت 

.pipe(imagemin())

داره اشاره میکنه 

و اینکه کالا کل فایل‌ها رو پاک کردم دوباره نصب کردم باز هم درست نشد 

حور خوئینی‌ها ۱۷ دی ۱۴۰۳، ۱۰:۱۹

این ارور رو رفع کردم 

 

حور خوئینی‌ها ۱۷ دی ۱۴۰۳، ۱۶:۴۲