vue-ssr-html-stream
Note: this package is used internally by vue-server-renderer >= 2.2.0 via the
template
option.
Usage
const HTMLStream =const htmlStream =template // stringcontext // ?ObjectoutletPlaceholder // ?string, defaults to <!--vue-ssr-outlet-->// pipe itrenderStream
-
The
template
option is a string of the HTML page template. It must contain a special string which serves as the placeholder for your app's server-rendered content. The default placeholder string is<!--vue-ssr-outlet-->
- you can configure it with theoutletPlaceholder
option. -
The
context
option should be the same context object passed tobundleRenderer.renderToStream()
. The transform will check for a few special properties on the context when the source render stream starts emitting data:-
context.head
: any head markup that should be injected into the head of the page. -
context.styles
: any inline CSS that should be injected into the head of the page. Note thatvue-loader
10.2.0+ (which usesvue-style-loader
2.0) will automatically populate this property with styles used in rendered components. -
context.state
: initial Vuex store state that should be inlined in the page aswindow.__INITIAL_STATE__
. The inlined JSON is automatically sanitized with serialize-javascript.
-
beforeStart
event
The stream emits a special event: beforeStart
. An example use case would be generating context.head
using info injected by vue-meta:
htmlStream
Example usage with Express
const HTMLStream =const template =const renderer =app