RequireJS Optimizer:排除特定的库

时间:2015-12-23 10:57:05

标签: javascript grunt-contrib-requirejs requirejs-optimizer almond

我的构建过程将每个应用程序脚本和供应商lib组合成一个.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'
        }
    }
}

有预定义的解决方法吗?或者任何解决方法?

1 个答案:

答案 0 :(得分:0)

可以使用优化程序中的empty选项完成此操作。有关详细信息,请参阅the docs