Grunt--Project building tools Package.json
{ "name": "App", "version": "1.0.0", "devdependencies":{ " Grunt ":" ~0.4.5 ", " Grunt-contrib-jshint ":" ~0.10.0 ", " Grunt-contrib-concat ":" ~0.5.0 ", " grunt-contrib-cssmin ":" ~0.10.0 ", " grunt-contrib-uglify ":" ~0.6.0 ", "grunt-contrib-imagemin": "~0.9.2", "grunt-contrib-htmlmin": "~0.3.0" }}
Gruntfile.js
Module.exports =function(grunt) {//Grunt ConfigGrunt.initconfig ({Pkg:grunt.file.readJSON (' Package.json '), Jshint: {files: [' Src/js/base.js ', ' src/js/script.js ', ' src/js/caculate.js ']}, concat: {options: {banner :‘/*! <%= pkg.name%> <%= grunt.template.today ("Yyyy-mm-dd")%> */\n ', Separator:' \n/*---------Split line---------*/\n '}, CSS: {files: [{src: [' Src/css/base.css ', ' src/css/style.css ', ' src/svg/style.css '], dest:' Dist/css/<%= pkg.name%>.css '}]}, JS: {files: [{src: [' Src/js/base.js ', ' src/js/script.js ', ' src/j/caculate.js '], dest:' Dist/js/<%= pkg.name%>.js '}]}}, Cssmin: {css: {files: [{ SRC:' Dist/css/<%= pkg.name%>.css ', dest:' Dist/css/<%= pkg.name%>.min.css '}]}, Uglify: {js: {files: [{ SRC:' Dist/js/<%= pkg.name%>.js ', dest:' Dist/js/<%= pkg.name%>.min.js '}]}, Htmlmin: {options: {removecomments :true, Collapsewhitespace:true}, Dist: {files: [{expand:true,//All HTMLCWD: ' src/', src: [' **/*.html '], dest:' Dist '}]}}, Imagemin: {img: {files: [{ Expand:true,//All imagesCWD: ' src/', src: [‘**/*. {png,jpg,gif} '], dest:' dist/' }] } } }); //Load TaskGrunt.loadnpmtasks (' Grunt-contrib-jshint '); Grunt.loadnpmtasks (' Grunt-contrib-concat '); Grunt.loadnpmtasks (' Grunt-contrib-cssmin '); Grunt.loadnpmtasks (' Grunt-contrib-uglify '); Grunt.loadnpmtasks (' Grunt-contrib-htmlmin '); Grunt.loadnpmtasks (' Grunt-contrib-imagemin '); //regist TaskGrunt.registertask (' Default ', [' jshint ', ' concat ', ' cssmin ', ' uglify ']); Grunt.registertask (' HTML ', [' htmlmin ']); Grunt.registertask (' img ', [' imagemin ']);};
Grunt Usage Records