1.0.1 • Published 6 years ago

rax-server v1.0.1

Weekly downloads
4
License
BSD-3-Clause
Repository
github
Last release
6 years ago

rax-server

Install

npm install rax-server --save

Usage

const http = require('http');
const RaxServer = require('rax-server');
const PORT = 8080;
const server = new RaxServer({
  // ...
});

const app = new http.createServer((req, res) => {
  if (req.pathname === '/index') {
    server.render(req, res, {
      page: 'index'
    });
  } else {
    // ...
  }
});

app.listen(PORT, () => {
  console.log(`SSR running on port ${PORT}`);
});

API

new RaxServer(options)

options:

  • document
    • component
  • shell(optional)
    • component
  • pages
    • pageName
      • title
      • component: component for page
      • template: template for page(optional)
      • style: styles for page
      • scripts: scripts for page
  • renderOpts: config for rax-server-renderer
const { readFileSync } = require('fs');
const express = require('express');
const RaxServer = require('rax-server');

const PORT = 8080;
const app = express();

const options = {
  document: {
    component: require('./dist/server/document.js'),
  },
  shell: {
    component: require('./dist/server/shell.js'),
  },
  pages: {
    index: {
      title: 'Index',
      component: require('./dist/server/index.js'),
      styles: ['./client/index.css'],
      scripts: ['./client/index.js']
    },
    bar: {
      component: require('./dsit2/server/bar.js')
    }
  }
};

const server = new RaxServer(options);

app.get('/', (req, res) => {
  server.render(req, res, {
    page: 'index'
  });
});

app.get('/foo/bar/baz', (req, res) => {
  server.render(req, res, {
    page: 'bar'
  });
});

app.listen(PORT, () => {
  console.log(`app listening on port ${PORT}`);
});

server.render(req, res, options)

options:

  • page
  • pathname
  • query
  • component
  • styles
  • scripts
  • title
server.render(req, res, {
  page: 'index'
});

server.renderToHTML(req, res, options)

const html = await server.renderToHTML(req, res, {
  page: 'index'
});

Use with frameworks

eg. express

const express = require('express');
const RaxServer = require('rax-server');

const PORT = 8080;
const app = express();

const server = new RaxServer({
  // ...
});

app.get('/index', (req, res) => {
  server.render(req, res, {
    page: 'index'
  });
});

app.listen(PORT, () => {
  console.log(`app listening on port ${PORT}`);
});
1.0.1

6 years ago

1.0.0

6 years ago

1.0.0-3

6 years ago

1.0.0-2

6 years ago

1.0.0-1

6 years ago

1.0.0-0

6 years ago