Code前端首页关于Code前端联系我们

在 Laravel 环境中设置 SSR | Vue 高级服务器端渲染:多页面应用程序

terry 2年前 (2023-09-25) 阅读数 47 #后端开发

有关 Laravel 新 Vue 服务器端渲染功能的教程。本教程的重点是在 Laravel 环境中设置 SSR,因此我只有时间演示一个缺乏基本功能的“Hello World”应用程序。

Laravel 环境中设置SSR|Vue高级服务器端渲染:多页应用程序

现在我想在之前的教程的基础上演示如何使用 Vue Router 渲染具有多个页面的 Vue 应用程序,因为大多数 Laravel 项目都有多个页面。

Laravel 环境中设置SSR|Vue高级服务器端渲染:多页应用程序

安装

本教程将扩展上一篇文章中的应用程序,使用 Laravel & Vue.js 2.5 进行服务器端渲染。确保您了解其工作原理并设置适当的开发环境,例如安装 php-v8js 扩展。

如果您没有代码,请克隆并编辑它:

$ git clone https://github.com/anthonygore/vue-js-laravel-ssr

$ cd vue-js - laravel-ssr

$ cp .env.example .env

$composer install

$ npm i

然后安装 Vue 路由器: -$ npm ivue 路由器模块

首先,我们将创建一个文件来配置路由器,导出路由器实例以供应用程序使用。

我创建了多个示例路由,每个路由都指向从此方法创建的 pageComponent 组件。此工厂方法生成一个仅显示页面名称的简单组件。这就是证明 SSR 路线有效所需要的。

resources/asset/js/router.js

从'vue'导入Vue

从'vue-router'导入路由器

Vue.use(路由器){

返回{

渲染: h =};

}

({新标准导出模式:'历史',

路线: [

{ 路径: '/', 组件: PageComponent('Home'), 名称: 'home' },

{ 路径: '/about' , 组件: PageComponent('关于'), 名称: 'about' },

{ path: '/contact', component: PageComponent('Contact'), name: 'contact' }

]

});

在当前主应用中在文件中,我们将导入路由器模块并将其添加到应用程序中,就像在 Vue 项目中一样。然后导出应用程序实例以在客户端和服务器条目文件中使用。

resources/assets/js/app.js

从'./components/App.vue'导入应用程序;

从'vue'导入Vue;

从'./router'导入路由器

新的Vue标准导出({

router,

render: h =?php

Route::get('/', 'AppController@get');

Route: :get ('/about', 'AppController @ get');

Route::get('/contact', 'AppController@get');

Regulator

现在我们需要在SSR 多页控制器。这是对基本应用程序逻辑的修改,因此请确保您已经知道它是如何工作的。

对于SSR多页面应用程序,我们需要告诉Vue服务器应用程序(在entry-server.js中定义)当前请求的URL是什么。这将确保当应用程序在沙箱中加载时,它将显示正确的页面组件。

为此,我们通过 render 方法的 get 方法传递 URL,即 $request-

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门