如何在Grunt js中构建多个任务?

时间:2015-05-18 16:31:52

标签: javascript html css gruntjs

我是grunt js的新手。我试图用grunt js构建多个任务,但每次我都遇到错误。如何摆脱这个问题? 这是我的示例代码。

module.exports = function(grunt){
    grunt.initConfig({
        useminPrepare:{
            html:['app/index.html'],
            options:{
                dest:'build'
            }
        },
        usemin:{html:['build/index.html']},
        copy:{
            task0: {
                src:['app/index.html', 'app/index2.html'],
                dest:['build/index.html', 'build/index2.html']
            }
        }
    });

    grunt.loadNpmTasks('grunt-contrib-copy');
    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasks('grunt-contrib-cssmin');
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-usemin');

    grunt.registerTask('build',[
        'copy:task0',
        'useminPrepare',
        'concat',
        'cssmin',
        'uglify',
        'usemin'
    ])
}

2 个答案:

答案 0 :(得分:1)

根据您提供的少量信息,我猜您正在运行grunt build

我可以看到你错过了一些任务定义作为答案之一,但dest属性也应该是一个字符串。您可以在文档中看到它:https://github.com/gruntjs/grunt-contrib-copy#usage-examples

以下是您案例的示例:

        copy:{
            task0: {
                src:['app/index.html', 'app/index2.html'],
                dest: 'build/'
            }
        }

请注意,缺少的任务是:concat, cssmin, uglify

答案 1 :(得分:1)

registerTask之后你错过了一个分号,应该是:

grunt.registerTask('build',[
    'copy:task0',
    'useminPrepare',
    'concat',
    'cssmin',
    'uglify',
    'usemin'
]);