日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Grunt构建自动化开发环境

發布時間:2025/3/8 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Grunt构建自动化开发环境 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、準備工作

1)首頁確保電腦上網,以及能夠訪問https://registry.npmjs.org/,因需從此網站中下載安裝相應的插件;

2)電腦安裝Node.js,Grunt及Grunt插件都是基于node.js運行的;如果你電腦上未裝node.js,到nodejs官網https://nodejs.org/下載相應版本安裝吧;

3)安裝grunt-CLI,要想使用grunt,需要將grunt-CLI安裝到全局環境中,使用nodejs的”npm install”進行安裝;

打開控制臺(windows系統下使用管理員權限打開),輸入:npm install –g grunt-cli,然后敲擊回車。

要檢查是否已經安裝grunt-cli并生效,只需輸入grunt命令,敲擊回車,如果出現下圖結果,即表示你已成功安裝grunt-cli。

2、創建一個簡單的測試

在本機的項目目錄中創建GruntTest目錄(包括build,src,test,node_modules為安裝插件時自動生成),兩個文件(Gruntfile.js,package.json,注意第一個文件名首字母大寫)。

其中package.json格式如下:

3、安裝Grunt

從控制臺中進入到剛才創建的目錄中,輸入以下命令:npm install grunt --save-dev(注意save前是兩個-),其中--save-dev的意思是在安裝grunt的同時,把grunt保存為這個目錄的開發依賴項。這個依賴項的配置即為package.json中的devDependencies對應的配置。

grunt安裝成功之后,在package.json文件中的devDependencies屬性中會自動添加上"grunt": "^0.4.5"。目錄中會自動創建node_modules文件夾,其中會有一個grunt的文件夾。

4、配置Gruntfile.js文件

首先把Gruntfile.js配置成如下格式:

}, build:{ src:'src/test.js',//原文件路徑 dest:'build/js/<%=pkg.name%>-<%=pkg.version%>.min.js'//壓縮后文件路徑 } }, //CSS文件壓縮 cssmin: { options: { shorthandCompacting: false, roundingPrecision: -1 }, target: { /*files: { 'output.css': ['foo.css', 'bar.css']//合并兩個文件到一個文件 }*/ files: [{ expand: true, cwd: 'src/',//原文件目錄 src: ['*.css', '!*.min.css'], dest: 'build/css',//壓縮后文件目錄 ext: '.min.css' }] } }, //JS文件錯誤提示 jshint:{ build:['Gruntfile.js','src/*.js'], options:{ jshintrc:'g.jshintrc' } }, watch: { scripts: { files: ['src/*.js','src/*.css'], tasks: ['jshint','uglify','cssmin'], options: { spawn: false } } } }); //告訴grunt我們將要加載的插件 grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-cssmin'); grunt.loadNpmTasks('grunt-contrib-jshint'); grunt.loadNpmTasks('grunt-contrib-watch'); //告訴grunt當我們在終端中輸入grunt時需要做哪些操作(注意先后順序) grunt.registerTask('default',['jshint','uglify','cssmin','watch']); };

5、Grunt插件安裝

進入grunt官網的插件列表頁面 http://www.gruntjs.net/plugins ,我們能看到grunt到目前為止的所有插件。

插件分為兩類。第一類是grunt團隊貢獻的插件,這些插件的名字前面都帶有“contrib-”前綴,而且在插件列表中有星號標注。第二類是第三方提供的插件,不帶有這兩個特征。

  • Contrib-jshint——javascript語法錯誤檢查;
  • Contrib-watch——實時監控文件變化、調用相應的任務重新執行;
  • Contrib-clean——清空文件、文件夾;
  • Contrib-uglify——壓縮javascript代碼
  • Contrib-copy——復制文件、文件夾
  • Contrib-concat——合并多個文件的代碼到一個文件中
  • karma——前端自動化測試工具

安裝插件命令為:npm install grunt-contrib-uglify --save-dev格式。

6、使用uglify插件

Uglify插件的功能就是壓縮javascript代碼。安裝方式:npm install grunt-contrib-uglify --save-dev,安裝成功之后package.json文件會自動添加相應配置,node_modules目錄中也會創建相應的插件目錄。

使用uglify來壓縮javascript代碼,首先在src目錄中創建一個”test.js”

?

/** * Created by Jack on 2015-10-20. */ (function(window,undefined){ function add(a,b){ return a+b; } add(10,20); })(window); function test(a,b,c){ return a+b*c; }

第一步:在Gruntfile.js中進行配置。

}, build:{ src:'src/test.js',//原文件路徑 dest:'build/js/<%=pkg.name%>-<%=pkg.version%>.min.js'//壓縮后文件路徑 } }, //CSS文件壓縮 cssmin: { options: { shorthandCompacting: false, roundingPrecision: -1 }, target: { /*files: { 'output.css': ['foo.css', 'bar.css']//合并兩個文件到一個文件 }*/ files: [{ expand: true, cwd: 'src/',//原文件目錄 src: ['*.css', '!*.min.css'], dest: 'build/css',//壓縮后文件目錄 ext: '.min.css' }] } }, //JS文件錯誤提示 jshint:{ build:['Gruntfile.js','src/*.js'], options:{ jshintrc:'g.jshintrc' } }, watch: { scripts: { files: ['src/*.js','src/*.css'], tasks: ['jshint','uglify','cssmin'], options: { spawn: false } } } }); //告訴grunt我們將要加載的插件 grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-cssmin'); grunt.loadNpmTasks('grunt-contrib-jshint'); grunt.loadNpmTasks('grunt-contrib-watch'); //告訴grunt當我們在終端中輸入grunt時需要做哪些操作(注意先后順序) grunt.registerTask('default',['jshint','uglify','cssmin','watch']); };

?

對uglify的配置有兩項:

  “options”中規定允許生成的壓縮文件帶banner,即在生成的壓縮文件第一行加一句話說明。注意,其中使用到了pkg獲取package.json的內容。

  “build”中配置了源文件和目標文件。即規定了要壓縮誰?壓縮之后會生成誰?注意,我們這里將目標文件的文件名通過pkg的name和version來命名。

(PS:上文中說過的package.json的內容終于找到了他被應用的地方了。這樣的好處是:例如,對文件版本的管理,你只需要在package.json中修改即可,grunt會自動根據最新的版本號生成相應版本的文件。你不用手動去修改文件的文件名。)

第二步:在 grunt.initConfig 方法之后,要讓grunt去加載這一個插件。光配置了,不加載上,如何用啊?

grunt.loadNpmTasks('grunt-contrib-uglify'); 第三步:在grunt命令執行時,要不要立即執行uglify插件?如果要,就寫上,否則不寫。我現在是需要的,所以我寫上。也有可能不需要,這種情況誰知道呢? grunt.registerTask('default',['uglify']);

7、其它插件

如果使用其它插件,可先進行安裝,然后進行配置,加載插件,注冊任務插件。具體使用說明可進入http://www.gruntjs.net/plugins網站中點擊相應的插件查看相應的配置說明。

總結

以上是生活随笔為你收集整理的使用Grunt构建自动化开发环境的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 97精品一区二区视频在线观看 | 一本高清dvd在线播放 | 污污网站在线观看 | 91激情 | 日日干天天射 | 男人影院在线观看 | 亚洲三级小视频 | 欧美极品少妇无套实战 | 又大又粗弄得我出好多水 | 伊人毛片 | 欧美福利一区二区三区 | 欧美丝袜脚交 | 国产老女人乱淫免费可以 | 欧美激情18p | 免费毛片一区二区三区久久久 | 越南少妇做受xxx片 亚洲av综合色区无码一二三区 | 午夜福利电影一区 | 性国产精品 | 男生和女生一起差差差视频 | 一级特黄高清 | 理论片中文 | 欧美老肥婆性猛交视频 | 国产一区免费看 | 欧美一级二级片 | 午夜精品久久久久 | 五月婷婷激情在线 | 亚洲天堂一区二区三区 | 天天插天天爱 | 一个综合色 | 成人在线91 | 91原创视频 | 亚洲综合精品视频 | 色悠悠视频 | 乌克兰做爰xxxⅹ性视频 | 又黄又爽的免费视频 | 中文字幕在线精品 | a级一a一级在线观看 | www99热| 91在线中文字幕 | 日本精品一区在线观看 | 欧美xxxx网站 | 中国一级大黄大黄大色毛片 | 国产主播一区二区三区 | 九九热在线观看视频 | 精品一区二区久久 | 永久av在线 | 性高潮网站 | 欧日韩一区二区三区 | 美女又爽又黄视频 | 亚洲国产日韩一区二区 | 亚洲无码精品在线播放 | www.欧美日韩 | 亚洲视频一区二区三区在线观看 | 欧美精品一区二区三区视频 | 久久国产区 | 久久亚洲av无码精品色午夜麻豆 | 五月婷婷激情综合网 | 欧美日韩资源 | 反差在线观看免费版全集完整版 | 夜夜嗨av一区二区三区四区 | 国产精品嫩草影院精东 | 国产福利小视频在线观看 | 视频在线观看一区二区 | 饥渴少妇伦色诱公 | 91精品国产综合久久福利 | 久久国产热| 又黄又爽又色视频 | 牛牛电影国产一区二区 | 男女精品视频 | 男女黄色录像 | 久久久久久久一 | 91亚洲免费 | 久久久久国产精品国产 | 欧美综合久久久 | 在线观看视频 | 人人草网 | 在线视频一区二区 | 懂色a v | 成人午夜免费电影 | 国产伦精品一区二区三区四区视频 | 乱中年女人伦 | 精品在线视频播放 | 中文字幕一区视频 | 激情综合小说 | 日本一二三区视频在线 | 成人免费av在线 | 中国肥胖女人真人毛片 | 在线看福利影 | 一区二区高清在线 | 欧美一级电影在线 | 成人a网| 国产一级片毛片 | 师生出轨h灌满了1v1 | 国产福利视频在线 | 114国产精品久久免费观看 | 97久久精品 | 亚洲成人播放 | 人民的名义第二部 | 91在线短视频 |