davidecesarano / embryo-ssr
使用 V8Js 在 PHP 应用程序中进行服务器端渲染的 JavaScript。
dev-master
2019-07-24 14:12 UTC
Requires
- php: >=7.1
This package is auto-updated.
Last update: 2024-09-25 07:27:49 UTC
README
使用 V8Js 在 PHP 应用程序中进行服务器端渲染的 JavaScript。
需求
- PHP >= 7.1
- V8Js PHP 扩展(见 V8 Javascript 编译文件 for PHP)
安装
使用 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>
。