Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork43
Use mithril views to render server side
License
MithrilJS/mithril-node-render
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Use mithril views to render server side
npm install mithril-node-render
// Make Mithril happyif(!global.window){global.window=global.document=global.requestAnimationFrame=undefined}varm=require('mithril')varrender=require('mithril-node-render')render(m('span','huhu')).then(function(html){// html === '<span>huhu</span>'})varhtml=render.sync(m('span','huhu'))// html === '<span>huhu</span>'
As you see the rendering is asynchronous. It lets you await certain data from withinoninit
hooks.
varmyAsyncComponent={oninit:function(node,waitFor){waitFor(newPromise(function(resolve){node.state.foo='bar'resolve()}))},view:function(node){returnm('div',node.state.foo)}}render(myAsyncComponent).then(function(html){// html === '<div>bar</div>'})
You can also render synchronously. You just don't get thewaitFor
callback.
varmyAsyncComponent={oninit:function(node,waitFor){// waitFor === undefinednewPromise(function(resolve){node.state.foo='bar'resolve()})},view:function(node){returnm('div',node.state.foo)}}varhtml=render.sync(myAsyncComponent)// html === '<div>bar</div>'
Optionally pass in options as an object:render(component, options)
.
The following options are supported:
escapeAttribute(value)Default: render.escapeAttribute
A filter function for attribute values. Receives value, returns what is printed.
escapeText(value)Default: render.escapeText
A filter function for string nodes. Receives value, returns what is printed.
strictDefault: false
Set this to true to close all empty tags automatically. Default is standard HTML mode where tags like<br>
and<meta>
are allowed to implicitly close themselves. This should be set totrue
if you're rendering XML-compatible HTML documents.
xmlDefault: false
Set this to true to render as generic XML instead of (possibly XML-compatible) HTML. Default is HTML mode, where children of void elements are ignored. This impliesstrict: true
.
- Blog post about isomorphic mithril applications
- Usage Example
About
Use mithril views to render server side
Topics
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
Uh oh!
There was an error while loading.Please reload this page.