#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));