Skip to content
This repository has been archived by the owner on Jan 25, 2023. It is now read-only.
/ razzle-template Public archive

SSR template with React, Effector, TypeScript, ReactRouter, and StyledComponents

License

Notifications You must be signed in to change notification settings

effector/razzle-template

Repository files navigation

Effector SSR Template

code style: prettier Commitizen friendly Conventional Commits

Note: this is template slightly outdated and will be updated as soon as possible.

How to use

  1. Press Use this template button.

  2. 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 and useStart from page-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