У меня есть папка, содержащая некоторые .js
файлы, написанные на JavaScript до ES2015, вместе с соответствующим gulpfile.js
, для компиляции моего кода. Теперь я пытаюсь добавить babel, чтобы начать писать код в ES6.
После установки пакетов npm я подумал, что мне понадобится, и затем запустил gulp, он завершил компиляцию без каких-либо проблем, но мойКод ES6 не передается (т. Е. const
не становится var
, функции стрелок все еще присутствуют в скомпилированном коде).
Что я пробовал :
В gulpfile.js я пробовал несколько разных значений для опции пресетов - ['es2015']
, ['babel-preset-es2015']
и ['babel-preset-env']
.
Но происходит одно из двух: 1. gulp завершает работу без ошибок, 2. возвращается сообщение Couldn't find preset "es2015" relative to directory...
.
Может ли это быть проблемой управления версиями? Или, может быть, я неправильно настроил пресет babel?
(я включил ниже мой package.json
, а также соответствующую часть моего gulpfile.js
)
package.json :
{
"name": "SA",
"version": "2.0.0",
"description": "my SA code",
"devDependencies": {
"babel-core": "^6.26.3",
"babel-eslint": "^7.2.3",
"babel-polyfill": "^6.26.0",
"babel-preset-env": "^1.7.0",
"del": "^2.2.2",
"eslint": "^3.19.0",
"gulp": "^4.0.2",
"gulp-babel": "^7.0.1",
"gulp-concat": "^2.6.1",
"gulp-jscs": "^4.1.0",
"gulp-jscs-stylish": "^1.4.0",
"gulp-jshint": "^2.1.0",
"gulp-rename": "^1.2.2",
"gulp-uglify": "^3.0.2",
"jshint": "^2.9.5",
"jshint-stylish": "^2.2.1"
},
"main": "SA",
"dependencies": {
"@babel/preset-env": "^7.6.3",
"lodash": "^4.17.15"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"repository": {
"type": "git",
"url": "[github URL]"
},
"keywords": []
}
gulpfile.js (включая соответствующие части):
var babel = require('gulp-babel'),
concat = require('gulp-concat'),
del = require('del'),
gulp = require('gulp'),
jscs = require('gulp-jscs'),
jshint = require('gulp-jshint'),
rename = require('gulp-rename'),
uglify = require('gulp-uglify');
function createBuildTask(destination) {
var sourceArray = [
destination + '/config/mobileCheck.js',
destination + '/config/account.js',
'common/api.js',
destination + '/config/utilityFunctions.js',
destination + '/config/runFirst.js',
destination + '/' + destination + '-main.js'
];
return function () {
return gulp.src(sourceArray, {'allowEmpty': true})
.pipe(concat(destination + '-built-main.js'))
.pipe(gulp.dest(destination + '/dist'))
.pipe(babel({
'presets': ['babel-preset-env']
}))
.pipe(uglify())
.pipe(rename({
'extname': '.min.js'
}))
.pipe(gulp.dest(destination + '/dist'));
};
}