有没有办法在Mac和Windows中运行相同的grunt命令,但有不同的选项或参数?

时间:2016-12-01 07:03:47

标签: cordova gruntjs cordova-cli

假设有一个grunt命令build_release_android,如下所示:

cordovacli: {
 .....

    build_release_android: {
                        options: {
                            command: 'build',
                            platforms: ['android'],
                            args: ['--release', "--buildConfig=..//build_android.json"]
                        }
                    }
.....
}

此命令可以在控制台中以grunt cordovacli:build_release_android运行。

现在在Mac中运行正常,但如果在Windows控制台上运行相同的命令,我必须将路径更改为“--buildConfig = .. \ build_android.json”

所以有没有办法运行命令而无需手动进行任何更改,每次在不同平台上运行

1 个答案:

答案 0 :(得分:1)

gruntfile.js中,您可以检查环境的操作系统,并可以使用适当的参数。例如:

var os = require('os');

...

cordovacli: {
    ...
    build_release_android: {
        options: {
            command: 'build',
            platforms: ['android'],
            args: /^win/.test(os.platform()) ?
                ['--release', '--buildConfig=..\\build_android.json'] :
                ['--release', '--buildConfig=../build_android.json']
        }
    }
    ...
}