@bast1oncz/react-server

Provides a production server which help bots to index a react page

Usage no npm install needed!

<script type="module">
  import bast1onczReactServer from 'https://cdn.skypack.dev/@bast1oncz/react-server';
</script>

README

@bast1oncz/react-server

This package lets you to create a production server for a react application with:

  • Very simple setup
  • Use controllers that you need and are supported by your platform

Installation

npm install @bast1oncz/react-server --save

Project setup

// serverProd.js

const {createServer, RequireHostController, BotRequestController, FileController, ResourceController} = require('@bast1oncz/react-server')

createServer(process.env.PORT || 3100, [
    // keep one host because of SEO purposes (if process.env.REQUIRE_HOST is not defined, controller is not used)
    process.env.REQUIRE_HOST && new RequireHostController('RequireHostController', process.env.REQUIRE_HOST),
    // serves resource files; the requested url path must start with that last folder pathname
    new ResourceController('ResourceController', `${__dirname}/deploy/dist`),
    // serves full rendered html to bots
    new BotRequestController('BotRequestController', process.env.PROTOCOL || 'http'),
    // serves raw html document with application script to users
    new FileController('AppDocumentController', `${__dirname}/deploy/app.html`)
])
// package.json

{
    "start": "node serverProd.js",
}

Run server

npm start