@AbaiS

Как исправить ошибку с gulp?

Проблема в файле gulpfile.js если задать
const imagemin = require('gulp-imagemin');
gulp.task('img', () => {
    return gulp.src("src/img/**/*")
        .pipe(imagemin())
        .pipe(gulp.dest("dist/img"));
});

раньше так всё работало, но сейчас выдает ошибку:
Error [ERR_REQUIRE_ESM]: require() of ES Module D:\Абай\Computer Science\projects\boxforyou_kg\node_modules\gulp-imagemin\index.js from D:\Абай\Computer Science\projects\boxforyou_kg\gulpfile.js not supported.
Instead change the require of index.js in D:\Абай\Computer Science\projects\boxforyou_kg\gulpfile.js to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> (D:\Абай\Computer Science\projects\boxforyou_kg\gulpfile.js:9:18)      
    at async Promise.all (index 0) {
  code: 'ERR_REQUIRE_ESM'
}

Делаю как в ней сказано заменяю require на import imagemin from 'gulp-imagemin';, но это выдает другую ошибку:
D:\Абай\Computer Science\projects\boxforyou_kg\gulpfile.js:10
import imagemin from 'gulp-imagemin';
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at Object.compileFunction (node:vm:352:18)
    at wrapSafe (node:internal/modules/cjs/loader:1033:15)
    at Module._compile (node:internal/modules/cjs/loader:1069:27)
    at Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Module._load (node:internal/modules/cjs/loader:827:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at requireOrImport (D:\Абай\Computer Science\projects\boxforyou_kg\node_modules\gulp-cli\lib\shared\require-or-import.js:19:11)
    at execute (D:\Абай\Computer Science\projects\boxforyou_kg\node_modules\gulp-cli\lib\versioned\^4.0.0\index.js:37:3)

Это восстановление старого проекта, поэтому думаю где-то ошибся в написании кода.
Помогите найти ошибку
  • Вопрос задан
  • 2644 просмотра
Решения вопроса 1
npm uninstall gulp-imagemin --save-dev
npm install gulp-imagemin@7.1.0 --save-dev
const imagemin = require('gulp-imagemin');
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
В package.json допишите "type": "module".
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы