ReferenceError: require is not defined. Использование import и require
Есть код файла reset.js
/*import {
deleteAsync
} from "del"*/
const del = require('del');
export const reset = () => {
async () => {
const deletedPaths = await del(app.path.clean);
// console.log('Deleted files and directories:\n', deletedPaths.join('\n'));
}
// deleteAsync(app.path.clean)
}
Выдает ошибку
Подскажите как устранить ошибку.
- Закомментировал
"type": "module"
в package.json
{
"name": "nft-landing",
"version": "1.0.0",
"description": "",
"main": "gulpfile.js",
// "type": "module",
"scripts": {
"dev": "gulp",
"build": "gulp build --build",
"svgSprive": "gulp svgSprive",
"zip": "gulp deployZIP --build",
"deploy": "gulp deployFTP --build"
},
"author": "",
"license": "ISC",
"devDependencies": {
"aos": "^2.3.4",
"browser-sync": "^2.26.7",
"del": "^5.1.0",
"gulp": "^4.0.1",
"gulp-autoprefixer": "^7.0.1",
"gulp-clean-css": "^4.2.0",
"gulp-file-include": "^2.1.1",
"gulp-fonter": "^0.3.0",
"gulp-group-css-media-queries": "^1.2.2",
"gulp-if": "^3.0.0",
"gulp-imagemin": "^7.1.0",
"gulp-newer": "^1.4.0",
"gulp-notify": "^3.2.0",
"gulp-plumber": "^1.2.1",
"gulp-rename": "^2.0.0",
"gulp-replace": "^1.0.0",
"gulp-sass": "^4.0.2",
"gulp-svg-sprite": "^1.5.0",
"gulp-ttf2woff2": "^3.0.0",
"gulp-util": "^3.0.8",
"gulp-version-number": "^0.2.4",
"gulp-webp": "^4.0.1",
"gulp-webp-html-nosvg": "^1.0.0",
"gulp-webpcss": "^1.1.1",
"gulp-zip": "^5.0.1",
"sass": "^1.26.0",
"swiper": "^5.2.1",
"vinyl-ftp": "^0.6.1",
"webp-converter": "^2.2.3",
"webpack": "^4.41.5",
"webpack-stream": "^5.2.1"
}
}
и получил в результате ошибку
- А если вообще удалить
"type": "module"
из package.json, то получаю следующие ошибки
Главный файл gulpfile.js
имеет вид
import gulp from "gulp";
import {path} from "./gulp/config/path.js";
import {plugins} from "./gulp/config/plugins.js";
global.app = {
isBuild: process.argv.includes('--build'),
isDev: !process.argv.includes('--build'),
path: path,
gulp: gulp,
plugins: plugins
}
// Имрорт задач
import {copy} from "./gulp/tasks/copy.js";
import {reset} from "./gulp/tasks/reset.js";
import {html} from "./gulp/tasks/html.js";
import {server} from "./gulp/tasks/server.js";
import {scss} from "./gulp/tasks/scss.js";
import {js} from "./gulp/tasks/js.js";
import {images} from "./gulp/tasks/images.js";
import {otfToTtf, ttfToWoff, fontsStyle} from "./gulp/tasks/fonts.js";
import {svgSprive} from "./gulp/tasks/svgSprive.js";
import {zip} from "./gulp/tasks/zip.js";
import {ftp} from "./gulp/tasks/ftp.js";
function watcher() {
gulp.watch(path.watch.files, copy);
gulp.watch(path.watch.html, html);
gulp.watch(path.watch.scss, scss);
gulp.watch(path.watch.js, js);
gulp.watch(path.watch.images, images);
}
export {svgSprive}
const fonts = gulp.series(otfToTtf, ttfToWoff, fontsStyle);
const mainTasks = gulp.series(fonts, gulp.parallel(copy, html, scss, js, images));
const dev = gulp.series(reset, mainTasks, gulp.parallel(watcher, server));
const build = gulp.series(reset, mainTasks, svgSprive);
const deployZIP = gulp.series(reset, mainTasks, zip);
const deployFTP = gulp.series(reset, mainTasks, ftp);
export {dev}
export {build}
export {deployZIP}
export {deployFTP}
gulp.task('default', dev);
- Если я в файле reset.js использую
export const reset = () => {
async () => {
const deletedPaths = await del(app.path.clean);
// console.log('Deleted files and directories:\n', deletedPaths.join('\n'));
}
// deleteAsync(app.path.clean)
}
то как я должен оформлять в gulpfile.js
import {reset} from "./gulp/tasks/reset.js";
Что я должен использовать вместо import {reset} from "./gulp/tasks/reset.js"
(какой оператор, какая синтаксическая конструкция)?
Источник: Stack Overflow на русском