2017 © Pedro Peláez
 

library reactjs-module

Redux React Serevr-Side Rendering using V8Js module for BEAR.Sunday

image

bear/reactjs-module

Redux React Serevr-Side Rendering using V8Js module for BEAR.Sunday

  • Thursday, January 26, 2017
  • by koriym
  • Repository
  • 7 Watchers
  • 5 Stars
  • 141 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 10 Versions
  • 0 % Grown

The README.md

BEAR.ReactJsModule

BEAR.ReactJsModule is a redux-react-ssr which renders Redux React UI on the server-side support module for BEAR.Sunday., (*1)

Prerequisites

Install

Composer Install

composer require bear/reactjs-module

Module Install

$distDir = dirname(__DIR__, 2) . '/var/www/dist';
$this->install(new ReduxModule($distDir, 'ssr_app');

In this canse, you need to place ssr-app.bundle.js at $baseDir directory., (*2)

Redux UI Skeleton Install

Copy skeleton directory to your BEAR.Sunday project root., (*3)

cp -r vendor/bear/reactjs-module/ui-skeleton/redux/ui .
cp vendor/bear/reactjs-module/ui-skeleton/redux/package.json .

Install dependencies., (*4)

yarn install

Build ui application., (*5)

yarn run build

Three js bundled file is produced., (*6)

  • react.bundle.js React library bundled code
  • {app-name}.bundle.js Application bundled code for client side
  • {ssr-app-name}.bundle.js Application bundled code for server side

You can include JavaScript client code (CSS, DOM ..) for {app}.bundle.js only. See more detail at the example., (*7)

ResourceOjbect

To inject SSR renderer, Annotate @Inject with @Named annotation to setRenderer setter method with {ssr-app-name} application name., (*8)


use BEAR\Resource\RenderInterface; use BEAR\Resource\ResourceObject; use Ray\Di\Di\Inject; use Ray\Di\Di\Named; class Greeting extends ResourceObject { /** * @Inject * @Named("ssr_app") */ public function setRenderer(RenderInterface $renderer) { $this->renderer = $renderer; } public function onGet() { $this->body = [ 'title' => 'Greeting', 'hello' => ['message' => 'konichiwa'] ]; return $this; } }

Template

We need php template code. For exapmle, Index.php page resource needs Index.html.php template file. You can get the value of body by escape() or raw()., (*9)

<?php

/* @var $ssr \BEAR\ReactJsModule\Ssr */
$view = $ssr->render(['hello']);

return <<<"EOT"
<!doctype>
<html>
<head>
    <title>{$ssr->escape('title')}</title>
</head>
<body>


{$view->markup}
</body> </html> EOT;

Note: app.bundle.js is client javascript code. The page is rendered fully even {$markup} is removed by client JS code., (*10)

VoidV8Module

It is possible to install VoidV8Module to run non V8Js environment for clien side rendering only., (*11)

$this->install(new FakeV8Module(new ReduxModule($distDir, 'ssr_hello')));

The Versions

26/01 2017

dev-hmr3

dev-hmr3

Redux React Serevr-Side Rendering using V8Js module for BEAR.Sunday

  Sources   Download

MIT

The Requires

 

The Development Requires

24/01 2017

1.x-dev

1.9999999.9999999.9999999-dev

Redux React Serevr-Side Rendering using V8Js module for BEAR.Sunday

  Sources   Download

MIT

The Requires

 

The Development Requires

17/01 2017

1.1.0

1.1.0.0

Redux React Serevr-Side Rendering using V8Js module for BEAR.Sunday

  Sources   Download

MIT

The Requires

 

The Development Requires

16/01 2017

1.0.0

1.0.0.0

Redux React Serevr-Side Rendering using V8Js module for BEAR.Sunday

  Sources   Download

MIT

The Requires

 

The Development Requires

20/12 2016

0.3.3

0.3.3.0

Redux React Serevr-Side Rendering using V8Js module for BEAR.Sunday

  Sources   Download

MIT

The Requires

 

The Development Requires

19/12 2016

0.3.2

0.3.2.0

Redux React Serevr-Side Rendering using V8Js module for BEAR.Sunday

  Sources   Download

MIT

The Requires

 

The Development Requires

16/12 2016

0.3.1

0.3.1.0

Redux React Serevr-Side Rendering using V8Js module for BEAR.Sunday

  Sources   Download

MIT

The Requires

 

The Development Requires

15/12 2016

0.3.0

0.3.0.0

Redux React Serevr-Side Rendering using V8Js module for BEAR.Sunday

  Sources   Download

MIT

The Requires

 

The Development Requires

25/10 2016

0.2.0

0.2.0.0

Redux React Serevr-Side Rendering using V8Js module for BEAR.Sunday

  Sources   Download

MIT

The Requires

 

The Development Requires

30/05 2016

0.1.0

0.1.0.0

Redux React Serevr-Side Rendering using V8Js module for BEAR.Sunday

  Sources   Download

MIT

The Requires

 

The Development Requires