koa-webpack-middleware icon indicating copy to clipboard operation
koa-webpack-middleware copied to clipboard

serverSideRender option is not supported

Open rustam-gaifiev opened this issue 8 years ago • 1 comments

if set serverSideRender to true then will be crash here

` TypeError: Cannot set property "webpackStats" of undefined

at D:\e\goswami-site\node_modules\webpack-dev-middleware\middleware.js:196:29  
at continueBecauseBundleAvailable (D:\e\goswami-site\node_modules\webpack-dev-middleware\middleware.js:94:5)  
at Array.forEach (native)  
at D:\e\goswami-site\node_modules\webpack-dev-middleware\middleware.js:93:8  
at _combinedTickCallback (internal/process/next_tick.js:67:7)  
at process._tickCallback (internal/process/next_tick.js:98:9)  

`

rustam-gaifiev avatar Feb 09 '17 12:02 rustam-gaifiev

Hi i'm trying to make a little modification to make serverSideRender work.

devMiddleware

exports.devMiddleware = async (ctx, next) => {
  ctx.locals = {};
  await expressMiddleware(ctx.req, {
    end: (content) => {
      ctx.body = content;
    },
    setHeader: (name, value) => {
      ctx.set(name, value);
    },
    locals: ctx.locals,
  }, next);
}

render layer

export default async (ctx, next) => {
  if (ctx.locals.webpackStats) {
    console.log(ctx.locals.webpackStats.toJson().assetsByChunkName);
  }
  await ctx.render('empty');
}

It renders a empty page if i'm turning serverSideRender to false. And when I'm turning serverSideRender to true, consoles out { index: [ 'bundle.js', 'bundle.js.map' ] } which is as expected, but in the browser it renders nothing(loading forever). Could someone tell me what's going on? I'm using koa2 with koa-views and ejs.

By the way did you have your problem solved? @rustam-gaifiev

kimjuny avatar Jul 26 '17 06:07 kimjuny