多个Gruntfilejs文件

时间:2013-11-11 21:24:46

标签: gruntjs bower

我是bowergrunt的新手,我刚刚开始了我的第一个项目,其中包括以下的bower依赖项:

bower.json

    {
       "name": "test",
       "version": "0.0.0",
       "authors": [
       ""
       ],
       "license": "MIT",
       "ignore": [
       "**/.*",
       "node_modules",
       "bower_components",
       "test",
       "tests"
       ],
       "dependencies": {
        "bootstrap-rtl": "~0.9.1",
        "jquery-ui-bootstrap": "~0.2.5",
        "jquery-ui": "~1.10.3",
        "jquery": "~2.0.3"
        },
        "exportsOverride": {
            "*": {
                "js": "**/*.js",
                "css": "**/*.css"
            }
        }
    }

Gruntfile.js

module.exports = function(grunt) {

    // Configuration goes here
    grunt.initConfig({
        bower: {
            install: {
                options: {
                    targetDir: './lib',
                    layout: 'byType',
                    install: true,
                    verbose: false,
                    cleanTargetDir: false,
                    cleanBowerDir: false,
                    bowerOptions: {}
                }
            }
        }
        //--end
    });
    // Load plugins here
    grunt.loadNpmTasks('grunt-bower-task');



    // Define your tasks here
    grunt.registerTask('default', ['bower']);


};

我注意到bower_components/bootstrap-rtl/包含另一个Gruntfile.js

是否可以在bower_components/bootstrap-rtl/Gruntfile.js之前从Gruntfile.js致电bower:install

1 个答案:

答案 0 :(得分:1)

您可以使用--gruntfile来确定Gruntfile的位置。

查看CLI source code了解详情。

使用示例:

grunt jshint --gruntfile bower_components/bootstrap-rtl/Gruntfile.js

你也可以使用grunt-grunt,我刚才为这种情况写过。

您可以这样配置:

grunt.initConfig({
    grunt: {
        boots: {
            gruntfile: 'bower_components/bootstrap-rtl/Gruntfile.js',
            tasks: ['some', 'tasks']
        }
    }
});

然后你可以设置一个别名,如下所示:

grunt.registerTask('build', ['grunt:boots', 'compile']);

希望它适合你。