zoukankan      html  css  js  c++  java
  • grunt插件之Gruntcontribhtmlmin

    https://github.com/gruntjs/grunt-contrib-htmlmin

    Grunt-contrib-htmlmin

    压缩HTML

    安装:

    npm install grunt-contrib-htmlmin --save-dev

    载入任务:

    grunt.loadNpmTasks('grunt-contrib-htmlmin');

    Options 选项

    以下选项类型均为布尔型,默认值均为false

    removeComments

    删除HTML注释

    removeCommentsFromCDATA

    删除<script><style>标签内的HTML注释

    removeCDATASectionsFromCDATA

    类型:布尔

    默认:false

    删除<script><style>标签中的CDTA区段

    collapseWhitespace

    删除文档树中文本节点的空白。不会影响重大的空白,比如在SCRIPT,STYLE,PRETEXTAREA等元素内容。

    collapseBooleanAttributes

    删除布尔属性

    <input disabled="disabled"> => <input disabled>

    removeAttributeQuotes

    删除属性的引号,当安全的情况下。

    removeRedundantAttributes

    删除多余的属性,像type="text/javascript"

    useShortDoctype

    用短的HTML5<!DOCTYPE html>代替doctype

    removeEmptyAttributes

    删除空(或空白)属性

    removeOptionalTags

    一些元素允许省略标签,像</td>

    removeEmptyElements

    删除空元素

     

    例:

     1 npm init
     2 
     3 npm install grunt-contrib-htmlmin --save-dev
     4 
     5 Gruntfile.js文件如下
     6 
     7 Module.exports = function(grunt){
     8 
     9 grunt.initConfig({
    10 
    11   htmlmin: {                                     // Task
    12 
    13     dist: {                                      // Target
    14 
    15       options: {                                 // Target options
    16 
    17         removeComments: true,
    18 
    19         collapseWhitespace: true
    20 
    21       },
    22 
    23 files: {
    24 
    25 'dest/browser.html': 'src/broswerinnerheight.html',
    26 
    27 'dest/iframe.html': 'src/iframe.html'
    28 
    29 }
    30 
    31     }
    32 
    33   }
    34 
    35 });
    36 
    37 grunt.loadNpmTasks('grunt-contrib-htmlmin');
    38 
    39 grunt.registerTask('default', ['htmlmin']);
    40 
    41 }

    grunt

     

    CDATA 的意思是字符数据(character data。在XML中,只有CDATA区段(CDATA section)的文本会被解析器忽略。

    XML元素中,“<”和“&”是非法的。某些文本,如JavaScript代码,包含大量的“<”和“&”。为了避免错误,可以将脚本代码定义为CDATA

    一个CDATA区段以“<![CDATA[”标记开始,以“]]”标记结束:

     1 <script>
     2 
     3 <![CDATA[
     4 
     5 function matchwo(a,b)
     6 
     7 {
     8 
     9 if (a < b && a < 0) then
    10 
    11   {
    12 
    13   return 1;
    14 
    15   }
    16 
    17 else
    18 
    19   {
    20 
    21   return 0;
    22 
    23   }
    24 
    25 }
    26 
    27 ]]>
    28 
    29 </script>

    上例中,解析器会忽略CDATA部分的所有代码。

     

  • 相关阅读:
    docker
    iOS开发之抓取花瓣网json数据
    iOS与Android工程项目的简单对比
    Android与iOS的比较
    Jenkins时间和centos时间相差八小时解决方法
    MYSQL中索引里面的基数是什么意思
    使用Java写一个minio的客户端上传下载文件
    Java 使用AOP实现打印日志
    macOS使用brew安装mysql8.x
    MacOS安装homebrew报错:curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
  • 原文地址:https://www.cnblogs.com/kaixinbocai/p/3672601.html
Copyright © 2011-2022 走看看