laravel - 如何在 Laravel 中包含复杂的 Vue 应用程序
问题描述
我有一个 Laravel 项目,它应该包含不同的 Vue 应用程序。
其中一些应用程序非常复杂(带有自己组件的独立 app.js 文件)。
Laravel 如何管理不同的 vue 应用程序,每个应用程序都有自己的 app.js 文件和组件?
解决方案
解决此问题的一种方法是将 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 应用程序(这里有一些示例,但您可能会发现更好)...长篇大论 - 但这是一个很好的方向 :)
推荐阅读
- node.js - AppEngine 实例小时数
- php - add_action() 中的“$this”到底是什么
- javascript - jQuery 巩固过多的 if/else 条件
- entity-framework - SQL Server 2017 - EF 正在尝试访问与连接字符串不同的数据库
- javascript - 将 Promise 函数映射到数组不会持久化结果
- javascript - 在ember中将html元素的值作为参数传递
- amazon-web-services - 按距离排序查询需要读取整个数据集?
- oracle-apex - Apex 数据加载:来自 csv 文件的 2 个数字列根据条件选择 1 并加载到表中
- java - 如何使前端 angularjs 代码与同一 EC2 上的后端 java 代码通信
- python - 如何在拆分之前避免同时包含字符串和数字的行?