gulp-babel не создает выходной файл или не работает должным образом
Я работаю над библиотекой JS и хочу перенести весь код javascript, написанный на ES6, в стандарт ES5, чтобы получить больше поддержки в современных браузерах.
Дело в том, что я хочу использовать Babel с задачами Gulp, поэтому я установил все эти пакеты NPM [package.json
]:
"devDependencies": {
"@babel/core": "^7.1.2",
"@babel/preset-env": "^7.1.0",
"babel-cli": "^6.26.0",
"gulp": "^3.9.1",
"gulp-babel": "^8.0.0",
"gulp-concat": "^2.6.1",
"gulp-sourcemaps": "^2.6.4",
"gulp-terser": "^1.1.5"
}
Следующий мой .babelrc
Файл имеет следующее содержание:
{
"presets": ["env"]
}
И gulpfile.js
записывается следующим образом:
const gulp = require('gulp');
const sourcemaps = require('gulp-sourcemaps');
const babel = require('gulp-babel');
const concat = require('gulp-concat');
const terser = require('gulp-terser');
gulp.task('minify', function () {
return gulp.src('src/app/classes/*.js')
.pipe(sourcemaps.init())
.pipe(babel()) // I do not pass preset, because .babelrc do exist
.pipe(concat('output.js'))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest('build/js'))
});
gulp.task('default', ['minify']);
Вопрос в том, когда я выполняю gulp
Команда на корневой каталог проекта, он не производит выходной файл. Консоль показывает успешное выполнение, но внутри ничего не появляется build/js
каталог или ни один из другого каталога проекта.
#user1:/project-route$> gulp
[17:36:54] Using gulpfile /project-route/gulpfile.js
[17:36:54] Starting 'minify'...
Я тоже пробовал без sourcemaps
функции и результат тот же, ничего!!!,
1 ответ
По непонятной причине, когда я выполняю в терминале babel -V
результат:
#user1:/project-route$> gulp
6.26.0 (babel-core 6.26.3)
Это не та версия, которую я установил (что я помню):
"@babel/core": "^7.1.2", "@babel/preset-env": "^7.1.0",
Итак, я удалил все эти зависимости:
"@babel/core": "^7.1.2",
"@babel/preset-env": "^7.1.0",
"gulp-babel": "^8.0.0",
И я установил эти в замен:
"babel-core": "^6.26.3",
"babel-preset-env": "^1.7.0",
"gulp-babel": "^7.0.1",
И все функции теперь работают!!!
Конечно, объяснение в соответствии с этой запиской на README.md плагина gulp-babel объясняется тем, что мне стоило много головной боли:
Руководство по установке (gulp-babel на GitHub)
устанавливать
устанавливать
gulp-babel
если вы хотите получить предварительную версию следующей версииgulp-babel
,# Babel 7 $ npm install --save-dev gulp-babel @babel/core @babel/preset-env # Babel 6 $ npm install --save-dev gulp-babel@7 babel-core babel-preset-env