V8Js :: compileString():14026:ReferenceError:未定义窗口

时间:2018-05-18 07:27:52

标签: laravel vue.js v8js

<?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此页面 安装了V8Js。 但$ v8-&gt; executeString($ app_source);发一个错误 V8Js :: compileString():14026:ReferenceError:窗口未定义。

我不知道如何处理这个错误..

1 个答案:

答案 0 :(得分:0)

问题是使用window对象的bootstrap.js。 THX!