国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Grunt快速入門

atinosun / 1509人閱讀

摘要:介紹中文主頁是一套前端自動化構建工具,一個基于的命令行工具它是一個任務運行器配合其豐富強大的插件常用功能合并文件壓縮文件語法檢查預編譯處理其它安裝查看版本創建一個簡單的應用構建生成的文件所在的文件夾

Grunt介紹

中文主頁 : http://www.gruntjs.net/

是一套前端自動化構建工具,一個基于nodeJs的命令行工具

它是一個任務運行器, 配合其豐富強大的插件

常用功能:

合并文件(js/css)

壓縮文件(js/css)

語法檢查(js)

less/sass預編譯處理

其它...

安裝nodejs, 查看版本

node -v

創建一個簡單的應用grunt_test

|- build----------構建生成的文件所在的文件夾
|- src------------源碼文件夾   
    |- js---------------js源文件夾
    |- css--------------css源文件夾
|- index.html-----頁面文件
|- Gruntfile.js---grunt配置文件(注意首字母大寫)
|- package.json---項目包配置文件
    {
      "name": "grunt_test",
      "version": "1.0.0"   
    }

全局安裝 grunt-cli

npm install -g grunt-cli 

安裝grunt

npm install grunt --save-dev

運行構建項目命令

grunt  //提示 Warning: Task "default" not found

配置文件: Gruntfile.js

此配置文件本質就是一個node函數類型模塊

配置編碼包含3步:

初始化插件配置

加載插件任務

注冊構建任務

基本編碼:

module.exports = function(grunt){
  // 1. 初始化插件配置
  grunt.initConfig({
      //主要編碼處
  });
  // 2. 加載插件任務
  // grunt.loadNpmTasks("grunt-contrib-concat");
  // 3. 注冊構建任務
  grunt.registerTask("default", []);
};

命令: grunt //提示成功, 但沒有任何效果(還沒有使用插件定義任務)

Grunt插件介紹

grunt官網的插件列表頁面 http://www.gruntjs.net/plugins

插件分類:

grunt團隊貢獻的插件 : 插件名大都以contrib-開頭

第三方提供的插件 : 大都不以contrib-開頭

常用的插件:

grunt-contrib-clean——清除文件(打包處理生成的)

grunt-contrib-concat——合并多個文件的代碼到一個文件中

grunt-contrib-uglify——壓縮js文件

grunt-contrib-jshint——javascript語法錯誤檢查;

grunt-contrib-cssmin——壓縮/合并css文件

grunt-contrib-htmlmin——壓縮html文件

grunt-contrib-imagemin——壓縮圖片文件(無損)

grunt-contrib-copy——復制文件、文件夾

grunt-contrib-requirejs——合并壓縮requirejs管理的所有js模塊文件

grunt-contrib-watch——實時監控文件變化、調用相應的任務重新執行

合并js: 使用concat插件

命令:

npm install grunt-contrib-concat --save-dev

編碼:

src/js/test1.js

(function () {
function add(num1, num2) {
return num1 + num2;
}
console.log(add(10, 20));
})();

src/js/test2.js

(function () {
var arr = [2,3,4].map(function (item, index) {
return item+1;
});
console.log(arr);
})();

配置: Gruntfile.js

配置任務:

concat: {
  options: { //可選項配置
    separator: ";"   //使用;連接合并
  },
  build: { //此名稱任意
    src:  ["src/js/*.js"],  //合并哪些js文件
    dest: "build/js/built.js" //輸出的js文件
  }
}

加載插件:

grunt.loadNpmTasks("grunt-contrib-concat");

注冊任務:

grunt.registerTask("default", ["concat"]);

命令:

grunt   //會在build下生成一個built.js

壓縮js: 使用uglify插件

下載

npm install grunt-contrib-uglify --save-dev

配置: Gruntfile.js

配置任務:

pkg : grunt.file.readJSON("package.json"),
uglify : {
  options: {  //不是必須的
    banner: "/*! <%= pkg.name %> - v<%= pkg.version %> - " +
    "<%= grunt.template.today("yyyy-mm-dd") %> */"
  },
  build: {
    files: {
      "build/js/built-<%=pkg.name%>-<%=pkg.version%>.min.js": ["build/js/built.js"]
    }
  }
}

加載任務:

grunt.loadNpmTasks("grunt-contrib-uglify");

注冊任務:

grunt.registerTask("default", ["concat", "uglify"]);

命令:

grunt   //會在build下生成一個壓縮的js文件

js語法檢查: 使用jshint插件

命令:

npm install grunt-contrib-jshint --save-dev

編碼: .jshintrc

{
  "curly": true,
  "eqeqeq": true,
  "eqnull": true,
  "expr" : true,
  "immed": true,
  "newcap": true,
  "noempty": true,
  "noarg": true,
  "regexp": true,
  "browser": true,
  "devel": true,
  "node": true,
  "boss": false,
  
  //不能使用未定義的變量
  "undef": true,
  //語句后面必須有分號
  "asi": false,
  //預定義不檢查的全局變量
  "predef": [ "define", "BMap", "angular", "BMAP_STATUS_SUCCESS"]
}

修改src/js/test1.js

(function () {
  function add(num1, num2) {
    num1 = num1 + num3
    return num1 + num2;
  }
  console.log(add(10, 20));
})();

配置 : Gruntfile.js

配置任務:

jshint : {
  options: {
    jshintrc : ".jshintrc" //指定配置文件
  },
  build : ["Gruntfile.js", "src/js/*.js"] //指定檢查的文件
}

加載任務:

grunt.loadNpmTasks("grunt-contrib-jshint");

注冊任務:

grunt.registerTask("default", ["concat", "uglify", "jshint"]);

命令:

grunt   //提示變量未定義和語句后未加分號 -->修改后重新編譯

使用cssmin插件

安裝:

npm install grunt-contrib-cssmin --save-dev

編碼:

test1.css

#box1 {
  width: 100px;
  height: 100px;
  background: red;
}

test2.css

#box2 {
  width: 200px;
  height: 200px;
  background: blue;
}

index.html


配置 : Gruntfile.js

配置任務:

cssmin:{
  options: {
    shorthandCompacting: false,
    roundingPrecision: -1
  },
  build: {
    files: {
        "build/css/output.min.css": ["src/css/*.css"]
    }
  }
}

加載任務:

grunt.loadNpmTasks("grunt-contrib-cssmin");

注冊任務:

grunt.registerTask("default", ["concat", "uglify", "jshint", "cssmin"]);

命令:

grunt    //在build/css/下生成output.min.css

使用watch插件(真正實現自動化)

命令: npm install grunt-contrib-watch --save-dev

配置 : Gruntfile.js

配置任務:

watch : {
  scripts : {
    files : ["src/js/*.js", "src/css/*.css"],
    tasks : ["concat", "jshint", "uglify", "cssmin"],
    options : {spawn : false}  
  }
}

加載任務:

grunt.loadNpmTasks("grunt-contrib-watch");

注冊任務:

grunt.registerTask("default", ["concat", "uglify", "jshint", "watch"]);
改進:grunt.registerTask("myWatch", ["default","watch"]);

命令:

grunt   //控制臺提示watch已經開始監聽, 修改保存后自動編譯處理

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/51013.html

相關文章

  • Grunt快速入門

    摘要:介紹中文主頁是一套前端自動化構建工具,一個基于的命令行工具它是一個任務運行器配合其豐富強大的插件常用功能合并文件壓縮文件語法檢查預編譯處理其它安裝查看版本創建一個簡單的應用構建生成的文件所在的文件夾 Grunt介紹 中文主頁 : http://www.gruntjs.net/ 是一套前端自動化構建工具,一個基于nodeJs的命令行工具 它是一個任務運行器, 配合其豐富強大的插件 ...

    Coding01 評論0 收藏0
  • Grunt快速入門

    摘要:介紹中文主頁是一套前端自動化構建工具,一個基于的命令行工具它是一個任務運行器配合其豐富強大的插件常用功能合并文件壓縮文件語法檢查預編譯處理其它安裝查看版本創建一個簡單的應用構建生成的文件所在的文件夾 Grunt介紹 中文主頁 : http://www.gruntjs.net/ 是一套前端自動化構建工具,一個基于nodeJs的命令行工具 它是一個任務運行器, 配合其豐富強大的插件 ...

    lookSomeone 評論0 收藏0
  • Gulp使用入門

    摘要:是一款流式構建系統,如果說是基于任務執行器,就是基于的文件流任務執行器,比起有如下特點使用方便通過代碼優于配置的策略,可以讓簡單的任務簡單,復雜的任務更可管理。 作者:Jogis原文鏈接:https://github.com/yesvods/Blog/issues/1轉載請注明原文鏈接以及作者信息 showImg(http://itanguo.cn/wp-content/uploads...

    ShevaKuilin 評論0 收藏0
  • 前端必備資源大整理

    摘要:資源不斷更新中。。。主頁前端工具簡介雖然不是第一個任務執行工具,它卻很快成為了最受歡迎的。官方網站網易框架是網易推出的開源前端框架,提供了豐富代碼庫和插件,可以極大的幫助開發人員提高開發效率。 資源不斷更新中。。。 動畫庫1.Animate.css說明:一個簡單易用的跨瀏覽器CSS動畫庫。GitHub主頁: https://github.com/daneden/an... 2.CSSh...

    JiaXinYi 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<