grunt是nodejs下的一個任務運行器,經過配置文件能夠很方便的執行一系列任務node
安裝
1.npm install -g grunt-cli 安裝grunt輔助命令(能夠直接在命令行中執行grunt命令)express
2.到給定目錄npm
3.npm install grunt --save-dev 安裝grunt,若是有--save-dev選項則將grunt添加到package.json文件中的devDependencies屬性中去json
4.安裝grunt插件grunt
npm install grunt-contrib-jshint
npm install grunt-contrib-uglify //壓縮js的插件
npm install grunt-contrib-requirejs
npm install grunt-contrib-copy
npm install grunt-contrib-clean
npm install grunt-contrib-concat //合併文件的插件
npm install grunt-striprequirejs
5.寫package.json文件ui
{ "name": "demo", "file": "zepto", "version": "0.1.0", "description": "demo", "license": "MIT", "devDependencies": { "grunt": "~0.4.1", "grunt-contrib-jshint": "~0.6.3", "grunt-contrib-uglify": "~0.2.1", "grunt-contrib-requirejs": "~0.4.1", "grunt-contrib-copy": "~0.4.1", "grunt-contrib-clean": "~0.5.0",
"grunt-contrib-concat": "grunt-strip": "~0.2.1" }, "dependencies": { "express": "3.x" } }
6.寫Gruntfile.js文件spa
module.exports = function (grunt) { // 項目配置 grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), //將package.json文件的內容轉換爲json對象 uglify: { options: { banner: '/*! <%= pkg.file %> <%= grunt.template.today("yyyy-mm-dd") %> */\n' }, build: { src: 'src/<%=pkg.file %>.js', //要壓縮的文件名 dest: 'dest/<%= pkg.file %>.min.js' //壓縮後文件的保存路徑 } } }); // 加載提供"uglify"任務的插件 grunt.loadNpmTasks('grunt-contrib-uglify'); //加載插件 // 默認任務 grunt.registerTask('default', ['uglify']); //默認grunt任務 }
7.執行grunt任務插件
在命令行中敲入grunt則開始執行默認任務命令行