<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\File;
class AppController extends Controller
{
private function render() {
$renderer_source = File::get(base_path('node_modules/vue-server-renderer/basic.js'));
$app_source = File::get(public_path('js/entry-server.js'));
$v8 = new \V8Js();
ob_start();
$v8->executeString('var process = { env: { VUE_ENV: "server", NODE_ENV: "production" }}; this.global = { process: process };');
$v8->executeString($renderer_source);
$v8->executeString($app_source);
return ob_get_clean();
}
public function get() {
$ssr = $this->render();
return view('app', ['ssr' => $ssr]);
}
}
Я следовал https://dzone.com/articles/server-side-rendering-with-laravel-amp-vuejs-25 на этой странице и установил V8J.Но $ v8-> executeString ($ app_source);сделать ошибку, что V8Js :: compileString (): 14026: ReferenceError: окно не определено.
Я понятия не имею, как я могу обработать эту ошибку ..