IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    写了一个压缩html的模块htmlmin

    草依山发表于 2014-04-16 14:23:21
    love 0

    本来是不打算写这个模块的,因为有现成的html-minifier了,但是我在使用的时候发现集成它,很困难,总是出错,并且它的功能不够单一,还有lint功能,因为看到它有一个html parser,那就用这个html parser写一个压缩器。

    它是怎么做的

    htmlmin是先把html parser下载下来,使用它的方法HTMLParser方法,下载html-minifier的测试文件,写代码跑过html-minifier的测试,参考cssmin的cssbin的代码,搞了一下命令行下的功能,然后就做完了。

    按照npm publish的指导完成发布模块。

    写得比较快,代码基本上没有做任何优化,如果后续有人用或者我自己用的时候碰到问题了,会再去优化

    怎么使用

    直接在命令行下使用:

    npm install -g htmlmin
    

    安装完成后,可以看一下帮助,基本的选项已经可以去掉空格换行,压缩css和js

    htmlmin --help
    

    在代码里使用,首先需要安装模块和保存依赖

    npm install --save htmlmin
    

    然后在你的nodejs程序里使用

    var htmlmin = require('htmlmin')
    htmlmin(htmlString, options)
    

    其中options是一个对象,可以接收的参数是:

    • jsmin: 默认值为 true, 压缩页面内script标签里js以及on*属性里的js代码
    • cssmin: 默认值为 true, 压缩页面内style标签里css以及style属性里的代码
    • caseSensitive: 默认值为 true, 大小敏感,标签及标签的属性会保留它本来的大小写,如果为false,会转换为小写
    • removeComments: 默认值为 true, 除了注释的开头加了!都会被删除
    • removeIgnored: 默认值为 false, 删除不认识的标签,比如<% xx %>
    • removeOptionalTags: 默认值为 false, 删除结束标签,有些标签是可以不加结束标签的
    • collapseWhitespace: 默认值为 false, 删除标签内内容的空格,慎用,有可能会造成内容丢失

    希望htmlmin能青出于蓝而胜于蓝


    文章来源: 写了一个压缩html的模块htmlmin
    文章的标签: javascript htmlmin


沪ICP备19023445号-2号
友情链接