gulp-minify заменяет имя переменной javascript значением там при вызове функции

У меня есть код как:

define('identity', function () {
    // LOT OF CONSTANTS AND USAGE HAS BEEN REMOVED FOR BREVITY
    'use strict';
    var CREATE_ACCOUNT = 'CreateAccount';
    var ACCOUNT = 'Account';
    var CONNECT = 'Connect';
    var SWITCH = 'Switch';
    var FB = 'FB';
    var PIPE_SEPARATOR = ' | ';
    var DOT_SEPARATOR = '.';
    var COMMA_SEPARATOR = ', ';

    function concatenateWithDotSeparater(array) {
        return concatenateWithSeparator(array,DOT_SEPARATOR);
    }

    function concatenateWithPipeSeparater(array) {
        return concatenateWithSeparator(array,PIPE_SEPARATOR);
    }

    function concatenateWithCommaSeparater(array) {
        return concatenateWithSeparator(array, COMMA_SEPARATOR);
    }

    function concatenateWithSeparator(array, separator) {
        return array.join(separator);
    }

    return {
        signUp: {
            facebookConnect : concatenateWithDotSeparater([CREATE_ACCOUNT, FB, CONNECT]),
            }
    };
}); 

По сути, у меня было много констант, которые повторялись и должны быть объединены для получения фактической стоимости. Итак, я создал константы для хранения повторяющихся значений, а затем конкатенировал их через функцию.

Но когда я попытался минимизировать JS с помощью gulp-minify версии 1.0.0, результат был такой: return{signUp:{facebookConnect:e(["CreateAccount","FB","Connect"])}}

Введены фактические значения. Как я могу предотвратить это?

Мне нравится получать вывод вроде: return{signUp:{facebookConnect:e([s,d,e])}}

Я использую minify как:

.pipe(minify({
    ext: {
        src: '.js',
        min: '-min.js'
    }
}))

Пожалуйста помоги.

1 ответ

Вы можете избежать переименования некоторых переменных, если вы установите опцию mangle, где вы должны установить список имен, которые вы хотите сохранить неизменяемыми. Под капотом gulp-minify Пакет использует uglify-es пакет. Посмотрите на это для подробной документации.

Пожалуйста, попробуйте с этими опциями:

.pipe(minify({
    ext: {
        src: '.js',
        min: '-min.js'
    },
    mangle: { reserved: ['CREATE_ACCOUNT', 'ACCOUNT', 'CONNECT'] // etc
}))
Другие вопросы по тегам