2

複数の「テーマ」で複数のタスクを実行できる grunt ファイルを構成しようとしています。私はこのうなり声全体に慣れていないので、構成に問題があります。

以下の私の例はほんの始まりにすぎませんが、基本的にはいくつかのグローバル構成を持ち、名前付きの「ターゲット」内に特定の「テーマ」構成をネストしたいと考えています。私は構文について完全に理解していないので、それが問題になる可能性がありますが、実行するgrunt powerfulとエラーが発生します警告: 必要な構成プロパティ "ウォッチ" がありません ? 設定は問題ないと思いますが、問題は私のregisterMultiTask. 何か案は?

module.exports = function(grunt) {

// Project configuration.

grunt.initConfig({

    // Metadata.
    pkg: grunt.file.readJSON('package.json'),
    banner: '/*!\n' +
        '* Microsites v<%= pkg.version %>\n' +
        '* Copyright <%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
        '*/\n' +
        '/* @package: <%= pkg.name %> */\n',
    jqueryCheck: 'if (!jQuery) { throw new Error(\"<%= pkg.name %> requires jQuery\") }\n\n',
    basePath: '../../www/wp-content/themes',

    powerful: {
        name:   'Powerful Theme',
        path:   '<%= basePath %>/powerful',
        less: {
            development: {
                options: {
                    dumpLineNumbers: true
                },
                files: {
                    '<%= powerful.path %>/static/css/project.css':  '<%= powerful.path %>/static/css/less/project.less',
                    '<%= powerful.path %>/static/css/editor.css':   '<%= powerful.path %>/static/css/less/editor.less',
                    '<%= powerful.path %>/static/css/login.css':    '<%= powerful.path %>/static/css/less/login.less'
                }
            },
            production: {
                options: {
                    yuicompress: true
                },
                files: {
                    '<%= powerful.path %>/static/css/project.css':  '<%= powerful.path %>/static/css/less/project.less',
                    '<%= powerful.path %>/static/css/editor.css':   '<%= powerful.path %>/static/css/less/editor.less',
                    '<%= powerful.path %>/static/css/login.css':    '<%= powerful.path %>/static/css/less/login.less'
                }
            },
            ie: {
                options: {
                    yuicompress: true
                },
                files: {
                    '<%= powerful.path %>/static/css/ie.css':       '<%= powerful.path %>/static/css/less/ie.less'
                }
            }
        },
        watch: {
            less: {
                files: ['<%= powerful.path %>/static/css/less/*.less'],
                tasks: ['less:development']
            }
        }
    }, // end: powerful

});


// load the plugin
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-concat');

// load tasks
//grunt.registerTask('default', ['less']);
grunt.registerMultiTask('powerful', 'do things', function(){
    grunt.task.run(['watch']);
});
};
4

1 に答える 1

1

タスクは、別のタスク構成内ではなく、構成の最初のレベルに配置する必要があります。また、powerfulタスクはマルチタスクではないため、構成ブロックも必要ありません。タスクを標準的な方法で設定するだけです:

grunt.initConfig({
  less: {
    /* config here */
  },
  watch: {
    /* config here */
  }
});
于 2013-09-25T23:08:57.550 に答える