как безопасно минифицировать библиотеки с помощью grunt uglify? (если вообще)

Начав работать с grunt (и Bower) и настроив для себя процесс сборки по умолчанию, я обнаружил, что немного потерялся в отношении минимизации скриптов с использованием uglify.

В прошлом я всегда использовал минифицированную версию скриптов, но теперь, когда я пытаюсь а) управлять всем пакетом и б) создать процесс сборки, я использую неминифицированные версии всех библиотек / плагинов, которые я хочу. мой проект и конкатенация, а затем минимизация себя.

Пока вроде все нормально, ошибок нет, но я боюсь, что что-то упускаю.

Является ли стандартной практикой простое использование библиотек, таких как jquery / backbone / underscores и т. Д., Через uglify с настройками по умолчанию, и все? или я должен отключить искажение для этих библиотек?

Я прочитал пару руководств и файл readme плагина grunt uglify, и он все еще неясен.

Как вы справляетесь с такими библиотеками для минимизации с помощью grunt ? (если вообще)

в настоящее время моя задача uglify выглядит так:

    uglify: {
        my_target: {
            options : {
                sourceMap: true,
                mangle : false  // can i mange?
            },
            files: [{
                expand  : true,
                cwd     : '<%= dirs.jsBuild %>',
                src     : '*.js',
                dest    : '<%= dirs.js %>'
            }]
        }
    },

обратите внимание, что я объединил свои библиотеки по порядку в файл с именем libs.min.js и все, что находится в моей папке плагинов, в файл с именем plugins.min.js, которые затем передаются в uglify.


person bigmadwolf    schedule 12.07.2014    source источник
comment
Я тоже искал точный ответ на этот вопрос... Вы когда-нибудь что-нибудь находили? Мой процесс uglify длится вечно из-за библиотек. Все, что я нашел, говорит об использовании уменьшенных версий библиотек, но я не хочу, чтобы происходило множество загрузок. Мне тоже кажется, что я что-то упускаю...   -  person Matt M.    schedule 07.10.2014
comment
не конкретно, похоже, он работает, как показано ниже, без проблем, за исключением одного плагина, который я скачал и использовал в этом проекте, который я в конечном итоге включил отдельно.   -  person bigmadwolf    schedule 08.10.2014


Ответы (1)


Я запустил его следующим образом без ошибок до сих пор.....

uglify: {
    my_target: {
        options : {
            sourceMap: true
        },
        files: [{
            expand  : true,
            cwd     : '<%= dirs.jsBuild %>',
            src     : '*.js',
            dest    : '<%= dirs.js %>',
            ext     : '.min.js'
        }]
    }
}, 
person bigmadwolf    schedule 24.07.2014