0

在我的项目中,我使用了一个外部库,它在其本地范围内具有一些私有功能,看起来像这样:

(function(window, undefined) {

var isArray = function() {...}
var forEach = function() {...}
var int = function() {...}
{(this))

外部库给了我一些功能,但另外我将使用我在项目中提到的这些函数,所以,我需要将 externalLib 私有函数放在窗口范围内。为避免这种情况,我将使用我的代码和 externalLib 代码构建 myLib.js。所以,我需要从 externalLib.js 中放一些代码(基本上我只需要从代码中删除第一行和最后一行)。您认为在 GruntJS 中完成这项任务的最佳形式是什么?我希望我解释得很好

4

1 回答 1

3

您可以在 grunt.js 构建期间使用grunt-preprocess模块预处理文件。这需要在您的代码中添加一些额外的指令:

// @ifdef DEBUG
(function(window, undefined) {
// @endif

    var isArray = function() {...}
    var forEach = function() {...}
    var int = function() {...}

// @ifdef DEBUG
{(this))
// @endif

DEBUG通过命令行开关或配置文件添加的任何环境变量都可以在哪里。

您也可以使用@exclude指令从 grunt.js 处理的文件中删除代码。更多信息在这里 - https://github.com/onehealth/preprocess#directive-syntax

于 2013-05-24T11:24:38.980 回答