New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

express-dva-ssr

Package Overview
Dependencies
Maintainers
1
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

express-dva-ssr

dva server side render middleware for express

Source
npmnpm
Version
0.2.7
Version published
Maintainers
1
Created
Source

express-dva-ssr

dva server side render middleware for express

react isomorphism dva

Demo

dva-example-user-dashboard-ssr

Install

$ npm install express-dva-ssr --save

Usage

options

OptionTypeRequireDescription
routesReactElementyesreact-router routes
createAppoptions:Object => app:DvaAppyesfunction init Dva App and return it
renderFullPage{html:String, state:Object} => fullHtml:Stringyesuse html fragment and state into a complete html page
initialStateObjectnocustom initialState for render
onRenderSuccess({ html:String, url:String, env:Object, state:Object}) => voidnoa hook to add custom cache logic
intervalNumbernoused in preSSRService with default 10000

env.platform

Used to distinguish whether the mobile or pc

route sync property

If you are sure that the rendering of the page does not depend on the asynchronous operation, please provide the sync property on <Route> definition

<Route path="/" sync component={Index} />

render on request

import ssr from 'express-dva-ssr';

......

const routes = (
  <div>
  	<Route path="/" sync component={Index} />
    <Route path="/topic/:id" component={TopicDetail} />
  </div>
);

function createApp(options) {
	const app = dva(opts);
	
	... // config
	
	return app
}

function renderFullPage({state, html}) {
	// build complete html page use html and state
}

function onRenderSuccess({ html, url, env }) {
	// add custom cache logic
}

app.use(ssr.runtimeSSRMiddle({
	routes: routes,
	createApp: createApp,
	initialState: {},
	renderFullPage: renderFullPage,
	onRenderSuccess: onRenderSuccess
}));

......


Pre-rendering

import ssr from 'express-dva-ssr';

ssr.preSSRService({
	interval: 10000,
	routes: routes,
	createApp: createApp,
	initialState: {},
	renderFullPage: renderFullPage,
	onRenderSuccess: onRenderSuccess
})

Example

Pre-rendering

render on request

Keywords

ssr

FAQs

Package last updated on 02 Nov 2017

Related posts