Как импортировать / экспортировать модули в Gulp 4 с помощью Browserify?

#javascript #gulp #babeljs #gulp-watch

#javascript #gulp #babeljs #gulp-смотреть

Вопрос:

Я пытаюсь импортировать одну функцию в другую. Когда я запускаю задачу компиляции js, я получил ошибку ParseError: 'import' and 'export' may appear only with 'sourceType: module' , которую я попытался исправить с помощью функции преобразования browserify. Но это тоже не сработало. В нем говорится .transform is not a function . Итак, мой вопрос в том, как я могу исправить свой файл gulp для работы с функцией импорта / экспорта?

 const gulp = require('gulp');
const browserify = require('gulp-browserify');
const babelify = require('babelify');
const sass = require('gulp-sass');
const browserSync = require('browser-sync').create();
const imagemin = require('gulp-imagemin');
const concat = require('gulp-concat');
const uglify = require('gulp-uglify');
const babel = require('gulp-babel');
const cleanCSS = require('gulp-clean-css');
const sourcemaps = require('gulp-sourcemaps');
const autoprefixer = require('gulp-autoprefixer');
const plumber = require('gulp-plumber');
const cache = require('gulp-cache');

const paths = {
    jsSrc: 'src/js/**/*.js',
    jsDist: 'dist/js'
};

function sync() {
    return browserSync.init({
        proxy: 'localhost:8888/cspec'
    });
}

function js(){
    return gulp.src(paths.jsSrc)
    .pipe(browserify())
    .pipe(babel({
        presets: ['@babel/preset-env']
    }))
    .pipe(uglify())
    .pipe(concat('main.min.js'))
    .pipe(gulp.dest(paths.jsDist))
    .pipe(browserSync.reload({
        stream: true
    }));
}

function watchFiles() {
    gulp.watch(paths.jsSrc, js);
    gulp.src('dist/js/main.min.js')
}

gulp.task('sync', sync);
gulp.task('js', js);
gulp.task('images', images);

gulp.task('default', gulp.parallel(js, images));
gulp.task('watchFiles', gulp.parallel(watchFiles, sync));