gruntjs中是否有数组占位符

时间:2016-01-27 00:33:56

标签: gruntjs

有没有办法为数组类型设置占位符?

我有这个:

    'closure-compiler': {
        dev: {
            files: {
                '<%= buildDirDev %>js/<%= outputMinJsName %>': [
                    '<%= sourceJsPath %>namespace.js',
                    '<%= sourceJsPath %>utils.js',
                    '<%= sourceJsVersionPath %>',
                    '<%= sourceJsPath %>game/CollidableContainer.js',
                    '<%= sourceJsPath %>game/Button.js',
                    '<%= sourceJsPath %>game/LabelledButton.js'
                ]
            },
        production: {
            files: {
                '<%= buildDir %>js/<%= outputMinJsName %>': [
                    '<%= sourceJsPath %>namespace.js',
                    '<%= sourceJsPath %>utils.js',
                    '<%= sourceJsVersionPath %>',
                    '<%= sourceJsPath %>game/CollidableContainer.js',
                    '<%= sourceJsPath %>game/Button.js',
                    '<%= sourceJsPath %>game/LabelledButton.js'
                ]
            },

我想把它作为:

     files: [
                    '<%= sourceJsPath %>namespace.js',
                    '<%= sourceJsPath %>utils.js',
                    '<%= sourceJsVersionPath %>',
                    '<%= sourceJsPath %>game/CollidableContainer.js',
                    '<%= sourceJsPath %>game/Button.js',
                    '<%= sourceJsPath %>game/LabelledButton.js'
     ],
    'closure-compiler': {
        dev: {
            files: {
                '<%= buildDirDev %>js/<%= outputMinJsName %>': <%= files %>
            },
        production: {
            files: {
                '<%= buildDir %>js/<%= outputMinJsName %>': <%= files %>
            },

然后我只能维护一个列表而不是2个

1 个答案:

答案 0 :(得分:2)

我不知道占位符,但你可以尝试在grunt.initConfig()调用之外将数组声明为javascript变量。

module.exports = function( grunt ){

    // ...

    var filesArray = [
        '<%= sourceJsPath %>namespace.js',
        '<%= sourceJsPath %>utils.js',
        '<%= sourceJsVersionPath %>',
        '<%= sourceJsPath %>game/CollidableContainer.js',
        '<%= sourceJsPath %>game/Button.js',
        '<%= sourceJsPath %>game/LabelledButton.js'
    ];

    grunt.initConfig({
        'closure-compiler': {
            dev: {
                files: {
                    '<%= buildDirDev %>js/<%= outputMinJsName %>': filesArray
                }
            },
            production: {
                files: {
                    '<%= buildDir %>js/<%= outputMinJsName %>': filesArray
                }
            }
        }
    });

}