繁体   English   中英

Laravel Vue SPA 与 MPA/SSR

[英]Laravel Vue SPA vs MPA/SSR

许多laravel/vue 教程使用ajax 调用来获取数据。 看来 SPA 和 Laravel 是完全隔离的。 即 Laravel 只是一个数据 API,vue 应用程序也可以简单地托管在第三方外部服务器(例如 AWS S3)上。 这是推荐的方式,还是我应该使用 Laravel 进行路由并使用单独的视图来实现单个组件并且已经包含数据而不是使用 SPA?

对于 SPA,我建议只使用标准设置,即 Web 服务器上的 Laravel 和浏览器中的 Vue。 为此,请安装 Laravel 和 Vue。 从浏览器到服务器的 AJAX 通信是通过 Vue 附带的 Axios 库完成的。 以下是安装 Laravel 和 Vue 路由器的方法:

composer require laravel/ui

php artisan ui vue

npm install && npm run dev

npm install vue-router

npm run watch

在 Vue 组件中,使用 Axios 与服务器通信如下所示。 此外,在下面,端点在 Laravel > Routes > web.php 中定义:

 methods: {

    fetchMessages() {

        let endpoint = `/channels/${this.activeChannel}/messages`;

        axios.get(endpoint).then(resp => {
                    this.messages = resp.data.messages;          
                });
    },

在主 js 文件中声明了一个 Vue 路由器。 例如,在 app.js 中。

这是一个 Vue 路由器的样子,额外的 url 路径将被添加到“路由”下:

import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)

const router = new VueRouter({
        base: '/',
        mode: 'history',
        history: true,

        routes: [
        {
            path: '/',
            name: 'home',
            component: PostComponent
        },

    ],
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM