一般来说,直接使用模板作为配置文件。

module.exports = function(grunt) { "use strict"; grunt.initConfig({ //插件配置区域 }); //加载插件任务,要使用谁就添加谁 grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-cssmin'); grunt.loadNpmTasks('grunt-contrib-p_w_picpathmin'); // 注册任务 grunt.registerTask('default', ['cssmin', 'p_w_picpathmin', 'uglify']); };

grunt.loadNpmTasks()是加载插件任务。其实就是说,你如果要使用哪个插件的功能,请在这部分用这句代码把插件任务添加进去。

grunt.registerTask()是注册任务,默认有一个default。默认的意思就是说,你最后使用的时候,在目录的命令提示符里直接输入grunt便可以执行注册的任务,相当于执行了default这个任务。

使用自定义任务

可以注册更多的任务命令,使用其他的命名。比如

grunt.registerTask('custom', ['cssmin', 'p_w_picpathmin']);

对应使用的时候,输入:

grunt custom

gruntfile.js例子如下:

module.exports = function (grunt) {

    'use strict';

    grunt.initConfig({

        less: {

          // 开发环境

          development: {

            options: {

              paths: ["css"]  // @import 加载文件的路径

            },

            files: {

              "css/style.css": "css/style.less"  // 将path/to/source.less编译为path/to/result.css

            }

          },

          // 线上环境

          production: {

            options: {

              paths: ["css"],  // @import 加载文件的路径

              cleancss: true,     // 压缩css文件

              modifyVars: {   // 重新定义全局变量

                imgPath: '"http://mycdn.com/path/to/p_w_picpaths"',

                bgColor: 'red'

              }

            },

            files: {

              "css/style.css": "css/style.less"

            }

          }

        },

        concat : {

            css : {

                src: ['css/*.css'],

                dest:'css/asset/all.css'

            }

        },

        cssmin: {

            css: {

                src:'css/asset/all.css',

                dest:'css/asset/all-min.css'

            }

        },

        //压缩整个文件夹下的所有文件

           cssminAll:{

            css: {

                expand: true,

                //相对路径

                cwd: 'css/',

                src:'*.css',

                dest:'css/asset'

            }

    });

    grunt.loadNpmTasks('grunt-contrib-less');

    // 开发环境

    grunt.registerTask('lessDev', ['less:development']);

    // 线上环境

    grunt.registerTask('lessPro', ['less:production']);

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

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

    // 默认任务

    grunt.registerTask('default', ['concat','cssmin']);

    

};