davidecesarano/embryo-ssr

使用 V8Js 在 PHP 应用程序中进行服务器端渲染的 JavaScript。

dev-master 2019-07-24 14:12 UTC

This package is auto-updated.

Last update: 2024-09-25 07:27:49 UTC


README

使用 V8Js 在 PHP 应用程序中进行服务器端渲染的 JavaScript。

需求

安装

使用 Composer

$ composer require davidecesarano/embryo-ssr

用法

如果您想渲染应用程序的“快照”,则可以使用 SSR。JavaScript 框架(如 Vuejs 或 React)构建客户端应用程序,这些应用程序在浏览器中以 DOM 操作作为输出。

使用 Embryo SSR,可以将组件渲染到服务器上的 HTML 字符串,直接发送到浏览器,并最终在客户端将静态标记“活化”成完全交互式的应用程序。

use Embryo\ServerSideRendering\SSR;

$v8js = new \V8Js;
$ssr = new SSR($v8js);

echo $ssr
    ->env([
        'NODE_ENV' => 'production',
        'VUE_ENV' => 'server'
    ])
    ->context([
        'user' => [
            'name' => 'Davide'
        ]
    ])
    ->entry('path/to/js/entry-server.js')
    ->render();

示例

您可以通过内置的 PHP 服务器快速测试,访问 https://:8000

$ cd example
$ php -S localhost:8000

选项

enabled(bool $enabled = true): self

启用或禁用服务器端渲染。禁用时,将渲染客户端脚本和回退 HTML。

env(array $env): self

当服务器脚本执行时,环境变量放置在 process.env 中。

entry($entry): self

服务器脚本的路径。必须是数组以支持多个文件。

context(array $context): self

上下文作为 context 变量传递给服务器脚本。

script(string $script): self

写入 JavaScript 脚本。例如:var a = "My Var"

fallback(string $fallback): self

设置禁用服务器端渲染时的回退 HTML。例如:<div id="app"></div>