在Windows上的Grunt中找不到任务“concat”

时间:2013-04-11 10:16:22

标签: gruntjs

我的gruntfile:

module.exports = function(grunt) {

grunt.initConfig({

    pkg: grunt.file.readJSON('package.json'),

    concat: {
        js: {
            src: ['http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js', 'js/bootstrap.min.js', 'js/messages.fr.js', 'js/parsley.min.js'],
            dest: 'js/prod/concat.js'
        },
        css: {
            src: ['css/bootstrap.min.css', 'css/bootstrap-responsive.min.css', 'css/app.css'],
            dest: 'css/prod/concat.css'
        }
    },

    min: {
        js: {
            src: 'js/prod/concat.js',
            dest: 'js/prod/main.min.js'
        }
    },

    cssmin: {
        minify: {
            expand: true,
            src: ['css/prod/concat.css', '!*.min.css'],
            dest: 'css/prod/',
            ext: '.min.css'
        }
    }

});

grunt.loadNpmTasks('grunt-contrib-imagemin', 'grunt-contrib-cssmin');

// Default task.
grunt.registerTask('default', ['concat', 'min', 'cssmin']);

};

无论我尝试什么(删除任务等),grunt都会继续向我发出相同的消息“警告:任务”连续“未找到”。如果我删除concat也是一样的:“警告:任务”min“未找到”。

我不明白发生了什么。

4 个答案:

答案 0 :(得分:7)

这恰好发生在我身上。确保在npm - 安装了一个grunt任务后,你也已经在Grunt文件中注册了它也很重要。

因此,gruntfile的结尾应该有loadNpmTasks行,如下所示:

grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');

// Default task.
grunt.registerTask('default', [ 'concat', 'uglify']);

答案 1 :(得分:4)

旧版本的Gruntjs包含一些默认任务,如concat和min。从Grunt 0.4开始,您必须添加自己想要的所有任务(插件)。我相信,对于缩小和连接,您可以使用grunt-contrib-uglify之类的任务。

请确保您运行的是最新版本的Grunt。许多在线可用的教程提到了Grunt 0.3,但从那以后发生了很多变化。例如,提及grunt.js(Grunt 0.3)而不是Gruntfile.js(0.4)的教程在很多方面已经过时了。

答案 2 :(得分:2)

我知道这个问题已经过时但我也遇到了这个错误,并且发现它是由于没有任何源文件(在gruntfile.js中的concat.dist.src中指定)而导致的。我将文件放在grunt期望它们的位置,并且工作正常。

答案 3 :(得分:1)

我遇到了同样的问题,但我尝试了这个,我的问题已经解决了。 在node.js命令提示符下尝试此命令。

npm install grunt-contrib-concat --save-dev