gulp-babel не создает выходной файл или не работает должным образом - PullRequest
0 голосов
/ 02 октября 2018

Я работаю над библиотекой 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 Ответ

0 голосов
/ 03 октября 2018

По необычной причине, когда я выполняю в терминале 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
...