# CanJS component is not rendering server-side with done-ssr middleware

**URL:** <https://forums.bitovi.com/t/canjs-component-is-not-rendering-server-side-with-done-ssr-middleware/340>\
**Category:** DoneJS\
**Created:** [July 4, 2016, 2:47pm UTC](https://forums.bitovi.com/t/canjs-component-is-not-rendering-server-side-with-done-ssr-middleware/340 "2016-07-04T14:47:23Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![v1ar31](https://avatars.discourse-cdn.com/v4/letter/v/58956e/32.png) [@v1ar31](https://forums.bitovi.com/u/v1ar31)\
**Post date:** [July 4, 2016, 2:47pm UTC](https://forums.bitovi.com/t/canjs-component-is-not-rendering-server-side-with-done-ssr-middleware/340/1 "2016-07-04T14:47:23Z")

</div>

main file has the following code:  
`define(['can', 'tests/test.mustache!', 'tests/testcomponent.mustache'], function(can, template, componenttemplate) { can.Component.extend({ tag: 'some-component', template: componenttemplate, viewModel: { some: 'componentdata' } }) var Test = can.Control.extend({ init: function(el) { can.$(el).html(template({ testData: 'controllerdata' })) } }) return function(request) { var test = new Test(document.body); } })`  
some-component stays unrendered as `<some-component></some-component>`  
what should i do to render this?

---

<div class="post-metadata">

**Author:** ![pYr0x](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.bitovi.com/pyr0x/32/95_2.png) [@pYr0x](https://forums.bitovi.com/u/pYr0x)\
**Post date:** [July 4, 2016, 5:00pm UTC](https://forums.bitovi.com/t/canjs-component-is-not-rendering-server-side-with-done-ssr-middleware/340/2 "2016-07-04T17:00:46Z")

</div>

What is ‘body.document’? Thats not working like this way.  
please look into donejs-serve [https://github.com/donejs/done-serve/blob/master/lib/index.js](https://github.com/donejs/done-serve/blob/master/lib/index.js)  
how to set up express with done-ssr-middleware

---

<div class="post-metadata">

**Author:** ![v1ar31](https://avatars.discourse-cdn.com/v4/letter/v/58956e/32.png) [@v1ar31](https://forums.bitovi.com/u/v1ar31)\
**Post date:** [July 5, 2016, 7:20am UTC](https://forums.bitovi.com/t/canjs-component-is-not-rendering-server-side-with-done-ssr-middleware/340/3 "2016-07-05T07:20:31Z")

</div>

document.body is a vdom node, i think. According to [https://github.com/donejs/done-ssr](https://github.com/donejs/done-ssr) my main should export a render function.

I set up middleware this way

```
var ssr = require('done-ssr-middleware');
var app = express();

app.use('/', ssr({
  config: __dirname + '/package.json!npm',
}));

```

This method and can-serve are about solving the same problem,aren’t they? both of them can server-side render?

can.view.callbacks.\_tags says that callback is already prepared, but not triggered. 😞

---

<div class="post-metadata">

**Author:** ![v1ar31](https://avatars.discourse-cdn.com/v4/letter/v/58956e/32.png) [@v1ar31](https://forums.bitovi.com/u/v1ar31)\
**Post date:** [July 6, 2016, 1:27pm UTC](https://forums.bitovi.com/t/canjs-component-is-not-rendering-server-side-with-done-ssr-middleware/340/4 "2016-07-06T13:27:39Z")

</div>

I want to set up server-side rendering for an already written project with canjs + stealjs. Thus, I decided to use done-serve. While i use only can.Control, everything works, but can.Component does not work and I do not know why. The example I put on git [https://github.com/v1ar31/testdone](https://github.com/v1ar31/testdone). How can i properly use the done-serve, to render can.Component on server?

---

<div class="post-metadata">

**Author:** ![v1ar31](https://avatars.discourse-cdn.com/v4/letter/v/58956e/32.png) [@v1ar31](https://forums.bitovi.com/u/v1ar31)\
**Post date:** [July 11, 2016, 2:06pm UTC](https://forums.bitovi.com/t/canjs-component-is-not-rendering-server-side-with-done-ssr-middleware/340/5 "2016-07-11T14:06:25Z")

</div>

It helped to rename .mustache -\> .stache

---

<div class="post-metadata">

**Author:** ![matthewp](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.bitovi.com/matthewp/32/77_2.png) [@matthewp](https://forums.bitovi.com/u/matthewp)\
**Post date:** [July 12, 2016, 8:30pm UTC](https://forums.bitovi.com/t/canjs-component-is-not-rendering-server-side-with-done-ssr-middleware/340/6 "2016-07-12T20:30:04Z")

</div>

Did that fix it for you? I’m guessing mustache does not render server-side.
