4

我的 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']);

};

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

我不明白发生了什么事。

4

4 回答 4

7

这只是发生在我身上。同样重要的是要确保在你npm安装了一个 grunt 任务之后,你也已经在你的 Gruntfile 中注册了它。

所以你的 gruntfile 的结尾应该有如下几loadNpmTasks行:

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

// Default task.
grunt.registerTask('default', [ 'concat', 'uglify']);
于 2013-06-18T14:46:30.987 回答
4

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

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

于 2013-04-12T19:36:07.413 回答
2

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

于 2014-12-09T14:18:43.647 回答
1

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

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

于 2016-05-19T10:00:51.347 回答