node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



NPM version Github release Build status Test coverage Dependency Status License

Turn virtual-dom nodes into HTML


npm install --save vdom-to-html


var VNode = require('virtual-dom/vnode/vnode');
var toHTML = require('vdom-to-html');
toHTML(new VNode('input', { className: 'name', type: 'text' }));
// => '<input class="name" type="text">' 

Special case for Widgets

Widgets are used to take control of the patching process, allowing the user to create stateful components, control sub-tree rendering, and hook into element removal. Documentation is available here.

Widgets are given an opportunity to provide a vdom representation through an optional render method. If the render method is not found an empty string will be used instead.

var Widget = function(text) {
  this.text = text;
Widget.prototype.type = 'Widget';
// provide a vdom representation of the widget 
Widget.prototype.render = function() {
  return new VNode('span', null, [new VText(this.text)]);
// other widget prototype methods would be implemented 
toHTML(new Widget('hello'));
// => '<span>hello</span>'