首页 > 解决方案 > 如何在 Laravel 中包含复杂的 Vue 应用程序

问题描述

我有一个 Laravel 项目,它应该包含不同的 Vue 应用程序。

其中一些应用程序非常复杂(带有自己组件的独立 app.js 文件)。

Laravel 如何管理不同的 vue 应用程序,每个应用程序都有自己的 app.js 文件和组件?

标签: laravellaravel-5vue.jsvuejs2

解决方案


解决此问题的一种方法是将 vue 应用程序编写为使用RESTful API与 laravel 连接的单独项目(仅使用前端技术)。

这实际上是简单的微服务架构(包括前端和后端代码之间的硬分离)。如果您决定这样做,您将面临CORS问题(但不用担心 - 您会在 Internet 上找到许多解决方案,例如这个),因为 vue 应用程序将位于与您的 RESTful laravel API 不同的域/子域上。

Laravel 支持创建 restful API 控制器- cmd:

php artisan make:controller API/MovieController --api --model=Movie

路由routes/api.php

Route::group(['prefix'=>'v1'], function() {
   Route::apiResource('movies', 'API\MovieController');
   ...
});

用于 api 认证Laravel Passport t (oauth2)很好用

您还应该使用一些现代前端技术(如 webpack、nmp)构建您单独的 vue 应用程序(这里有一些示例,但您可能会发现更好)...长篇大论 - 但这是一个很好的方向 :)


推荐阅读