@goodw84

Очередность сжатия в uglify?

Сжимаю js-файлы проекта Grunt'ом (concat, uglyfy).

В итоговом файле scripts.min.js очередность функций меняется, функции не видят JQeury и т.д.

Как управлять очередностью при минимизации?

concat: {
            main: {
                src: [
                    'libs/jquery/dist/jquery.js',
                    'libs/jquery/dist/jquery.min.js',
                    'libs/bootstrap/dist/js/bootstrap.min.js',
                    'js/jquery.selectbox-0.2.min.js',
                    'libs/jquery-ui/jquery-ui.min.js',
                    'libs/jquery-json/dist/jquery.json.min.js',
                    'libs/tablesorter/dist/js/jquery.tablesorter.min.js',
                    'libs/jquery.autocomplete/jquery.autocomplete.min.js',
                    'libs/jquery-number-mask/dist/jquery.numberMask.min.js',
                    'libs/jquery-validation/dist/jquery.validate.min.js',
                    'libs/react/react.min.js',
                    'js/public.js',
                    'js/functions.js'
                ],
                dest: 'build/scripts.js',
                options: {
                    block: true,
                    line: true,
                    stripBanners: true
                }
            }
        },

        // Сжатие JS-файла
        uglify: {
            options: {
                mangle: {
                    except: ['jQuery', 'Backbone']
                }
            },
            main: {
                files: {
                    'build/scripts.min.js': ['build/scripts.js']
                }
            }
        }
  • Вопрос задан
  • 671 просмотр
Решения вопроса 1
1. Не надо сжимать уже сжатые (.min) файлы.
2. Сжимайте вендоров отдельно от своих файлов, т.к. эти файлы будут меняться намного реже и как следствие будут браться из кеша браузера.
3. У вас jQuery 2 раза написан:
'libs/jquery/dist/jquery.js',
'libs/jquery/dist/jquery.min.js',

Скорее всего проблема в том, что вы сжимаете уже сжатые файлики.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы