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

Javascript 使用Grunt解析和构建的不同方法,javascript,build,gruntjs,Javascript,Build,Gruntjs,在我的项目中,我使用了一个外部库,该库在其本地范围内具有一些私有函数,如下所示: (function(window, undefined) { var isArray = function() {...} var forEach = function() {...} var int = function() {...} {(this)) 外部库给了我一些功能性,但另外我将使用我在项目中提到的这些函数,因此,我需要将外部库私有函数放在窗口范围内。为了避免这种情况,我将使用我的代码和extern

在我的项目中,我使用了一个外部库,该库在其本地范围内具有一些私有函数,如下所示:

(function(window, undefined) {

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

您可以使用模块在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处理的文件中删除代码即可。这里有更多信息-

您可以使用模块在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处理的文件中删除代码即可。这里有更多关于这个的信息-