PostHTML是一个转换HTML/ XML的工具。 PostHTML本身是非常小的。它只包括一个HTML解析器,一个HTML节点树API和一个节点树stringifier。
var posthtml = require('posthtml');var html = '<myComponent><myTitle>Super Title</myTitle><myText>Awesome Text</myText></myComponent>';posthtml() .use(require('posthtml-custom-elements')()) .process(html/*, options */) .then(function(result) { console.log(result.html); // <div class="myComponent"><div class="myTitle">Super Title</div><div class="myText">Awesome Text</div></div> });
客官可能会问,这种替换的功能,我用正则表达式也能做呀,那 PostHTML 的优势是什么呀?
PostHTML 之于 HTML,就像 PostCSS 之于 CSS。
Uglify 之于 JavaScript,除了插件体系并不成熟以外。
PostHTML 好比一个汽车翻新工厂,而 PostHTML 插件就是一个个流水线车间:
可见,PostHTML 并不提供具体的功能,仅仅实现了 HTML 和 PostHTMLTree 互相转化,且提供通用的 API 和 插件模型,让插件操作 PostHTMLTree。这与 PostCSS 如出一辙。具备如下的有点:
项目主页:http://www.open-open.com/lib/view/home/1448175913745