Javascript 使用外部文件在Grunt中排序文件

Javascript 使用外部文件在Grunt中排序文件,javascript,gruntjs,external,concat,Javascript,Gruntjs,External,Concat,我正在使用Grunt contrib concat配置Grunt,以连接20个javascript文件。它们必须按特定的顺序排列,我想知道是否有一种简洁的方法可以做到这一点,而不会弄乱我的Gruntfile.js 我所做的和工作良好的是,声明了一个名为“libraries”的变量,该变量带有一个函数,该函数返回一个字符串,其中所有文件的顺序正确 var libraries = new (function () { return [ '/javascript/libs/

我正在使用Grunt contrib concat配置Grunt,以连接20个javascript文件。它们必须按特定的顺序排列,我想知道是否有一种简洁的方法可以做到这一点,而不会弄乱我的Gruntfile.js

我所做的和工作良好的是,声明了一个名为“libraries”的变量,该变量带有一个函数,该函数返回一个字符串,其中所有文件的顺序正确

var libraries = new (function () {

    return [

        '/javascript/libs/jquery.min.js',
        '/javascript/libs/jquery.address.js',
        '/javascript/libs/jquery.console.js'

    ];

});
然后是concat(简化,只是一个示例):

因此,当我在任务配置中调用“库”时,一切正常,但我想在单独的文件中声明此列表。
不幸的是,我找不到任何东西,也不知道这是否可能。希望有人能帮助我!提前感谢:-)

我找到了解决方案!由于Grunt是在NodeJS上构建的,所以可以使用module.exports。我所做的是设置一个名为libraries.js的外部文件,它位于我的Grunt目录中

var exports = module.exports = {};

exports.customLibrary = function () {

    return [

        // Path to a library
        // Path to another library
        // and so on...

    ];

};

exports.mainScripts = function () { 

    return [

        // Path to a library
        // Path to another library
        // and so on...

    ];

};
然后我通过在Gruntfile.js中声明一个变量来导入这个模块

var libraries                   = require('../javascript/libraries.js');
为了使用libraries.js中声明的方法,我又设置了两个变量,它们以所需顺序返回包含所有必要文件的字符串:

var customLibrary               = libraries.customLibrary();
var mainScripts                 = libraries.mainScripts();
我使用这些变量来定义concat任务中的源。希望这是有帮助的

var customLibrary               = libraries.customLibrary();
var mainScripts                 = libraries.mainScripts();