草依山的Javascript世界

一个Javascript程序猿的学习纪录剩地,不仅仅是JS,还有Linux、Mac、nodeJs、吃、玩!

写了一个压缩html的模块htmlmin

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

它是怎么做的

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

按照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
欢迎关注我的微博与我交流:@草依山
Github上也有一些东西:[Github]
所有文章坚决抵制jb51.net的转载!
2014-04-16

相关文章

2017-03-22 一次算PI的小尝试
2017-02-13 new做了些什么
2016-09-29 [翻译]bash的各种文件载入执行顺序
2016-05-31 phantomjs在linux下截图中文字体问题
2016-04-24 Promise的错误处理

文章修改纪录

加载中...
Copyright © 2013. Create By 草依山, Fork