@kHan_Solo
Php/Magento Dev

Почему Gulp.js заменяет цикл while на for?

Не нашел в настройках ничего явно указывающего на такие изменения в коде. Гугл тоже не особо помог.

gulpfile.js

var gulp = require('gulp'),
    autoprefixer = require('gulp-autoprefixer'),
    minifyCSS = require('gulp-minify-css'),
    sourcemaps = require('gulp-sourcemaps'),
    sass = require('gulp-sass'),
    uglify = require('gulp-uglify'),
    concat = require('gulp-concat');


// css
gulp.task('css', function () {

  return gulp.src('scss/*.scss')
  	.pipe(sourcemaps.init())
    .pipe(sass().on('error', sass.logError))
    .pipe(autoprefixer({
        browsers: ['last 100 versions','ie > 8', 'opera > 12.1', 'Safari > 5', 'ff > 5']
    }))
    .pipe(minifyCSS())
    .pipe(sourcemaps.write('maps/'))
    .pipe(gulp.dest('../css/'));

});

// js
gulp.task('js', function () {
    gulp.src([
        'js/lang.js',
        'js/jquery.js',
        'js/lib/jquery.validate.js',
        'js/lib/masonry.js',
        'js/lib/moment.js',
        'js/lib/daterangepicker.js',
        'js/lib/slick.js',
        'js/lib/ion.rangeSlider.min.js',
        'js/lib/lli.js',
        'js/lib/simpleCalendar.js',
        'js/lib/jquery.Photostack.js',
        'js/scripts/*.js'
    ])
    .pipe(uglify())
    .pipe(concat('app.js'))
    .pipe(gulp.dest('../js/'));
});

// watcher
gulp.task('watch', function () {
	gulp.watch('scss/*.scss', ['css'])
	gulp.watch('js/**/*.js', ['js'])
});

// deafault
gulp.task('default', ['css', 'js', 'watch']);


Изначальнй код

var day = 1;
    var dayCount = monthData.monthDaysCount();
    var self = this;
    
    while (day < dayCount) {
       // 
    }


Результат

for (var n = 1, r = t.monthDaysCount(), a = this; n < r; ) {
       //
    }


Причем в условия for попадают ближайшие 3 переменные что перед циклом while, остальные вообще удалены(это вообще дичь какая-то, менять циклы, переменные).
Пробовал убирать uglify но проблема остается.

Js только минифицируется и мержится в один файл.

UPD

Поправил код, то что было изначально, поэтому тут сразу видно что это абсолютно не одно и тоже(как писали в комментах).

Что происходит понятно и никаких проблем с этим. Интересен момент почему uglify меняет циклы так как это не всегда меньше символов + ну в данном примере видно что ломается полностью логика чего быть не должно.

UPD v2
Вопроса в общем нет, проблема в uglify
  • Вопрос задан
  • 186 просмотров
Пригласить эксперта
Ответы на вопрос 1
rockon404
@rockon404
Frontend Developer
Оба варианта эквивалентны. В чем проблема?
Почитать: Параметры компрессии gulp-uglify
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
16 мая 2024, в 23:36
200000 руб./за проект
16 мая 2024, в 23:10
12000 руб./за проект