razzle-template
razzle-template copied to clipboard
SSR template with React, Effector, TypeScript, ReactRouter, and StyledComponents
Effector SSR Template
Note: this is template slightly outdated and will be updated as soon as possible.
How to use
-
Press
Use this template
button. -
Clone it, install and run:
yarn install
yarn start
- Use
import {} from "effector-root"
instead of"effector"
. All units should be created in the root domain. - Use
createStart
,withStart
anduseStart
frompage-routing.ts
for pages start events.
Structure
https://sova.dev/application-structure
-
src/server.tsx
— Express server, that renders React to stream -
src/index.tsx
— Node.js entry point, that have hot module replacement and imports server -
src/client.tsx
— Browser side entry point, that hydrates stores and react app -
src/application.tsx
— Application component, that have global styles and effector provider -
src/pages/index.tsx
— Pages component -
src/pages/routes.ts
— Static routes config -
src/pages/:page-name/index.tsx
— View for single specific page -
src/pages/:page-name/model.ts
— Business-logic for specific page, that contains single level logic layer -
src/lib
— Internal libraries -
src/lib/effector
— START event name to use as page property