执行两个gruntfile.js?

时间:2014-06-23 06:40:10

标签: gruntjs

最近,我们为移动网站m.xyz.com创建了一个单独的代码库,并针对性能进行了优化。我们在该代码库中实现了grunt。现在,我们计划为即将推出的新桌面版使用相同的代码库。所以,我们正在构建一个代码库作为移动/桌面。

现在,整个项目只有一个为移动设备编写的Gruntfile.js。如何拆分移动/桌面任务?比如,如果我执行“grunt mobile”移动gruntfile.js执行。如果我输入“grunt desktop”桌面gruntfile.js就会被执行。有没有其他方法可以解决这种情况?

2 个答案:

答案 0 :(得分:1)

如果您不想自己解析命令行参数,那么设置选项最有意义。将其称为grunt task --mobile

module.exports = function (grunt) {
    if(grunt.option('mobile')) {
        require('Gruntfile.mobile.js')(grunt);
    } else if(grunt.option('desktop')) {
        require('Gruntfile.desktop.js')(grunt);
    }
}

答案 1 :(得分:0)

我创建了两个文件Gruntfile.mobile.js和Gruntfile.desktop.js

我的Gruntfile.js看起来像这样

'use strict';
module.exports = function(grunt) {
    if (grunt.option("option") == 'mobile') {
        require('./Gruntfile.mobile.js')(grunt);
    } else if (grunt.option("option") == 'desktop') {
        require('./Gruntfile.desktop.js')(grunt);
    }
};

我的命令行:移动设备grunt --option=mobile和桌面设备grunt --option=desktop