1. 程式人生 > >grunt常用插件的使用

grunt常用插件的使用

輸入 cat tasks 構建工具 -- min 項目文件 路徑 告訴

Grunt 作為前端自動化構建工具,我主要使用到的是其中對css的less預處理器的轉換,圖片的壓縮,js,css文件的合並壓縮以及實時監測的插件。

好處是:節省帶寬流量,提高了代碼的安全性。

使用Grunt的步驟如下:

1.安裝:先要 安裝 Node.js, 然後 安裝 Grunt(打開控制臺輸入npm install -g grunt-cli進行全局安裝)。

2.創建自己的項目文件(此處用到了bootstrap配合grunt使用):

技術分享

註意:

  • Gruntfile.js 是用來配置和定義任務並加載Grunt插件;
  • package.json 是 npm 用來配置項目的元數據,如配置文件合並與壓縮依賴的插件;
  • 這裏的node_modules文件是之後安裝了相關插件自動出現的內容。

然後在package.json中輸入

{
  "name": "guocheng",
  "version": "1.0.0",
  "devDependencies": {
//用來存儲開發依賴項
} }

3.插件的安裝:

再次安裝grunt,這裏就是進入建立的項目guocheng下面,打開控制臺安裝,輸入npm install grunt --save-dev回車。

安裝好後node_modules文件便會出現,package.json中的“devDependencies”裏面便多了插件信息。

接著繼續安裝你所需要的插件npm install 插件名稱 --save-dev(例如:安裝uglify插件:

npm install grunt-contrib-uglify --save-dev),我在把所需插件安裝好後,package.json中的內容變化如下:

技術分享

4.在Gruntfile.js 裏面進行相關插件的配置:

//包裝函數
module.exports = function (grunt) {
    //任務配置,所有插件的配置信息
    grunt.initConfig({
        pkg:grunt.file.readJSON(package.json),
        less: {//把less文件自動轉換為css文件
            compile: {
                files: {
                    
css/common.css: css/common.less } }, yuicompress: { files: { css/common-min.css: css/common.css }, options: { yuicompress: true } } }, //壓縮圖片 imagemin: { dynamic: { options: { optimizationLevel: 3 // png圖片優化水平,3是默認值,取值區間0-7 }, files: [ { expand: true, // 開啟動態擴展 cwd: "img/", // 當前工作路徑 src: ["**/*.{png,jpg,gif}"], // 要出處理的文件格式(img下的所有png,jpg,gif) dest: "img/" // 輸出目錄(直接覆蓋原圖) } ] } }, // 合並任務配置 concat: { css: { // 源文件,數組, src: [css/*.css], // 目標文件, pkg.name 是定義在 package.json 文件中的 name dest: dist/all.css }, js: { options: { // js 文件合並用 ‘;‘分隔 separator: ;, }, src: [js/*.js], dest: dist/all.js }, }, // 壓縮 css 文件 cssmin: { css: { src: dist/all.css,//將之前的all.css dest: dist/all.min.css //壓縮 } }, // 壓縮 js 文件 uglify: { js: { src: dist/all.js,//將之前的all.js dest: dist/all.min.js //壓縮 }, }, watch:{ build:{ files: [js/*.js,css/*.less],//實時監測js,less文件內容的改動並執行相關任務 tasks:[less,uglify], options:{spawn:false} } } }); //告訴grunt當我們在終端中輸入grunt時需要做些什麽 grunt.loadNpmTasks(grunt-contrib-less); grunt.loadNpmTasks(grunt-contrib-concat); grunt.loadNpmTasks(grunt-contrib-uglify); grunt.loadNpmTasks(grunt-css); grunt.loadNpmTasks(grunt-contrib-imagemin); grunt.loadNpmTasks(grunt-contrib-watch); grunt.registerTask(default,[less,concat,cssmin,uglify,watch]); };

然後在控制臺輸入grunt回車:

技術分享

然後想要的結果就出現了。

如果要另外新建項目,把package.json拷過去,打開項目所在的控制臺輸入npm install回車便可把裏面的插件一次性安裝好。當然,如果只想執行一個插件的命令,就在控制臺裏面輸入grunt +想要執行的項目 ,比如就僅僅壓縮圖片,就在控制臺輸入grunt imagemin回車即可。

grunt常用插件的使用