Почему Gulp заканчивает работу, не передавая мой код ES6? - PullRequest
3 голосов
/ 31 октября 2019

У меня есть папка, содержащая некоторые .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'));
        };
    }
...