GruntJs 简介

Grunt 是一个 JavaScript 任务运行器,用于重复性任务的自动化,如缩小,编译,单元测试,linting 等。

要开始使用,你需要全局安装 Grunt 的命令行界面(CLI)。

npm install -g grunt-cli

准备一个新的 Grunt 项目: 典型的设置将涉及向项目添加两个文件:package.json 和 Gruntfile。

package.json:npm 使用此文件存储作为 npm 模块发布的项目的元数据。你将列出 grunt 和项目所需的 Grunt 插件作为此文件中的 devDependencies。

Gruntfile:此文件名为 Gruntfile.js,用于配置或定义任务并加载 Grunt 插件。

Example package.json:

{
  "name": "my-project-name",
  "version": "0.1.0",
  "devDependencies": {
    "grunt": "~0.4.5",
    "grunt-contrib-jshint": "~0.10.0",
    "grunt-contrib-nodeunit": "~0.4.1",
    "grunt-contrib-uglify": "~0.5.0"
  }
}

示例 gruntfile:

module.exports = function(grunt) {

  // Project configuration.
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    uglify: {
      options: {
        banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
      },
      build: {
        src: 'src/<%= pkg.name %>.js',
        dest: 'build/<%= pkg.name %>.min.js'
      }
    }
  });

  // Load the plugin that provides the "uglify" task.
  grunt.loadNpmTasks('grunt-contrib-uglify');

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

};