JS項目構建工具Grunt實踐
一:下面來介紹下如何用grunt合併,壓縮js文件。
node
大概步驟有以下:
1. 新建文件夾相對應的項目 好比文件名叫:gruntJs
2. 新建文件package.json。
3. 新建文件Gruntfile.js。
4. 命令行執行grunt任務。
一: 新建文件名爲:gruntJs 該根目錄下有src文件夾 裏面放了n個js文件要構建的,還有個叫dest文件夾(名字均可以自取),這個文件是存儲編譯後的js文件。git
二: 新建package.json。npm
package.json放在根目錄下,它包含了該項目的一些元信息,如項目名稱、描述、版本號,依賴包等。
它應該和源碼同樣被提交到svn或git。 如今的內容以下:
{
"name": "gruntJs",
"version": "1.0.0",
"devDependencies": {
"grunt": "~0.4.0",
"grunt-contrib-jshint": "~0.1.1",
"grunt-contrib-uglify": "~0.1.2",
"grunt-contrib-concat": "~0.1.1"
}
}
配置時候 版本必定要對應,不然打包會報錯。上面是正確的。
grunt-contrib-jshint js語法檢查
grunt-contrib-uglify 壓縮,採用UglifyJS
grunt-contrib-concat 合併文件
此時: 打開命令行工具進入到項目根目錄,如(gruntJs)敲以下命令: npm install 後 若是一切正常的話 那麼
再查看根目錄,發現多了個node_modules目錄,包含了5個子目錄 grunt-cmd-transport grunt-contrib-clean
grunt-contrib-jshint grunt-contrib-uglify grunt。json
三:新建文件Gruntfile.js
1。 wrapper函數,結構以下,這是Node.js的典型寫法,使用exports公開API
module.exports = function(grunt) {
// Do grunt-related things in here
};
2. 項目和任務配置。
3. 載入grunt插件和任務。
4. 定製執行任務。app
該示例完成如下任務: dom
合併src下的文件(grunt.js/bb.js)爲domop.js 壓縮domop.js爲domop.min.js,這兩個文件都放在dest目錄下 最終的Gruntfile.js以下:svn
module.exports = function(grunt) { // 配置 grunt.initConfig({ pkg : grunt.file.readJSON('package.json'), concat: { domop: { src: ['src/grunt.js', 'src/bb.js'], dest: 'dest/domop.js' } }, uglify: { build: { src : 'dest/domop.js', dest : 'dest/domop-min.js' } } }); // 載入concat和uglify插件,分別對於合併和壓縮 grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-contrib-uglify'); // 註冊任務 grunt.registerTask('default', ['concat','uglify']); };
4、執行grunt任務。函數
打開命令行,進入到項目根目錄,敲 grunt 若是一切都成功的話 那麼
看出成功的合併和壓縮並生成了dest目錄及指望的文件,這時的項目目錄下多了dest.grunt