###前端構建工具-grunt介紹javascript
grunt是一款優秀的前端構建工具(自動化工具)。對於須要反覆重複的任務,例如壓縮、編譯、單元測試等,自動化工具能夠減輕你的勞動,簡化你的工做。當你在 Gruntfile 文件正確配置好了任務,任務運行器就會自動幫你完成大部分無聊的工做。前端
###grunt的安裝java
安裝最新版node.js(node.js包含npm,因此不用安裝npm)node
全局安裝grunt命令行 npm install grunt-cli -ggit
構建一個簡單的前端網站 目錄結構以下:github
└── grunt-test ├── Gruntfile.js ├── build ├── package.json ├── src │ └── grunt-test.js └── test
package.json文件內容以下:npm
{ "name": "grunt-test", "version": "1.0.0", "devDependencies": { } }
"devDependencies": { "grunt": "^1.0.1" }
module.exports = function(grunt) { //任務配置,全部插件的配置信息 grunt.initConfig({ //獲取package.json信息 pkg: grunt.file.readJSON('package.json'), }); //輸入grunt後的動做(注意先後順序) grunt.registerTask('default', []); };
此時終端輸入grunt即可以運行,可是此時的grunt什麼也作不了,接下來給grunt安裝插件json
####grunt的安裝插件前端構建
Contrib-jshint——javascript語法錯誤檢查; Contrib-watch——實時監控文件變化、調用相應的任務從新執行; Contrib-clean——清空文件、文件夾; Contrib-uglify——壓縮javascript代碼 Contrib-copy——文件、文件夾 Contrib-concat——合併多個文件的代碼到一個文件中 karma——前端自動化測試工具
#####grunt的安裝插件示例 jshint安裝示例:grunt
npm安裝同時將依賴寫入package.json npm install grunt-contrib-jshint --save-dev
配置Gruntfile.js
module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), //配置插件 jshint: { files: ['src/*.js'], options: { jshintrc: '.jshintrc' } } }); //載入插件 grunt.loadNpmTasks('grunt-contrib-jshint'); grunt.registerTask('default', ['uglify']); };
安裝watch後的代碼下載地址:
https://github.com/wjingkunwang/notes/tree/master/front/code/grunt-test
參閱文章: