使用Grunt解析和构建的不同方法

时间:2013-05-24 11:14:22

标签: javascript build gruntjs

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

(function(window, undefined) {

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

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

1 个答案:

答案 0 :(得分:3)

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

// @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