RequireJS Optimizer: исключить определенные библиотеки

Мой процесс сборки объединяет каждый скрипт приложения и библиотеку поставщика в один файл .min.js. Теперь предположим, что одной из библиотек этого поставщика является jQuery. Мое приложение будет работать в среде, где уже используется jQuery. Поэтому мне не нужно включать jQuery в мою сборку. Однако в моем прототипе приложения (среде разработки) он мне все еще нужен, поэтому его можно удалить только в процессе сборки.

Поэтому при создании моего .min.js-файла мне нужно будет исключить jQuery, но приложение все равно должно работать, а зависимости должны разрешаться правильно.

Моя сборка grunt-contrib-requirejs выглядит так:

/**
 * JavaScript/RequireJS compilation/compression
 * with almond
 */
requirejs: {
    prod: {
        options: {
            /**
             * Use Uglify2 with
             * compressed output
             * and generate a .map-file
             */
            optimize: 'uglify2',
            // needs to be false if preserveLicense is true
            generateSourceMaps: false,
            preserveLicenseComments: true,
            uglify2: {
                output: {
                    beautify: false
                }
            },
            /**
             * Generate the output
             * as a single file to the build folder
             */
            name: '../../<%= project.almond %>',
            baseUrl: '<%= project.scripts %>',
            mainConfigFile: '<%= project.scripts %>/main.js',
            include: 'main.js',
            out: '<%= project.dist.web %>/js/app.min.js'
        }
    }
}

Есть ли предопределенный способ ее решения? Или любая идея обходного пути?


person dude    schedule 23.12.2015    source источник


Ответы (1)


Это можно сделать с помощью опции empty в Оптимизаторе. Дополнительные сведения см. в документах.

person dude    schedule 24.05.2016