From 43c189023591ad399280e62eed189233b23f5d47 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Tue, 20 Feb 2018 11:11:55 -0500 Subject: [PATCH] handle case where webpack asset is an array instead of a string --- src/middleware/index.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/middleware/index.ts b/src/middleware/index.ts index 90ef0ca..80def88 100644 --- a/src/middleware/index.ts +++ b/src/middleware/index.ts @@ -122,7 +122,12 @@ function get_route_handler(chunks: Record, routes: RouteObject[] // preload main.js and current route // TODO detect other stuff we can preload? images, CSS, fonts? - res.setHeader('Link', `;rel="preload";as="script", ;rel="preload";as="script"`); + const link = [] + .concat(chunks.main, chunks[route.id]) + .map(file => `;rel="preload";as="script"`) + .join(', '); + + res.setHeader('Link', link); const data = { params: req.params, query: req.query }; @@ -159,7 +164,11 @@ function get_route_handler(chunks: Record, routes: RouteObject[] const { html, head, css } = mod.render(data); - let scripts = ``; + let scripts = [] + .concat(chunks.main) // chunks main might be an array. it might not! thanks, webpack + .map(file => ``) + .join(''); + scripts = `${scripts}`; const page = template.render({