@@ -259,6 +259,7 @@ export default class WebServer extends EventEmitter{
259259
260260 const placementSource = '[' + viewLoaderData . placements . map ( p => `{ module: import("${ p . url } "), name: "${ p . name } " }` ) . join ( ',' ) + ']'
261261 const viewAssignmentsSource = JSON . stringify ( viewLoaderData . assignments )
262+ const viewAssignmentsStyles = viewLoaderData . assignments . scopedStyleLinks
262263
263264 const clientLoader = ClassInfo . extends ( view , ComponentRegistry . Components . PageView ) ? clientPageViewLoader : clientApplicationLoader
264265 const moduleVirtualLoader = path . join ( path . dirname ( viewLoaderData . path ) , bundleName + '.loader.mjs' )
@@ -453,7 +454,9 @@ export default class WebServer extends EventEmitter{
453454 if ( ! route . pageDOM ) {
454455 page . entryScript = '/scripts/' + route . bundleScript
455456 route . pageDOM = page . captureDOM ( this . _domEmulator )
457+ route . pageContent = this . _domEmulator . serializeDOM ( route . pageDOM )
456458 }
459+ let pageContent = route . pageContent
457460 if ( route . data ) {
458461 let data = null
459462 if ( typeof route . data === 'function' ) {
@@ -481,13 +484,15 @@ export default class WebServer extends EventEmitter{
481484 scriptEl . text = scriptContent
482485 route . pageDOM . window . document . head . appendChild ( scriptEl )
483486 }
484- route . pageContent = this . _domEmulator . serializeDOM ( route . pageDOM )
485- } else {
486- if ( ! route . pageContent )
487- route . pageContent = this . _domEmulator . serializeDOM ( route . pageDOM )
487+ pageContent = this . _domEmulator . serializeDOM ( route . pageDOM )
488+ }
489+ if ( route . styles . length ) {
490+ const location = pageContent . indexOf ( '</head>' )
491+ const insertString = route . styles . map ( s => `<link rel="stylesheet" data-purpose="scoped" type="text/css" href="${ s } " />` )
492+ pageContent = pageContent . slice ( 0 , location ) + insertString + pageContent . slice ( location )
488493 }
489494
490- res . send ( route . pageContent )
495+ res . send ( pageContent )
491496 res . end ( )
492497 }
493498
0 commit comments