dex / frontier
您的 Laravel 应用与解耦的前端之间的边界
0.14.0
2024-09-09 13:00 UTC
Requires
- guzzlehttp/guzzle: ^7
- illuminate/http: ^9|^10|^11
- illuminate/support: ^9|^10|^11
- illuminate/view: ^9|^10|^11
Requires (Dev)
- laravel/pint: ^1.10
- orchestra/testbench: ^8.5
- pestphp/pest: ^2.6
README
您的 Laravel 应用与解耦的前端之间的 Laravel 边界。
Frontier 允许您运行您最喜欢的客户端框架,并通过后端以代理的形式提供初始页面。
非常适合使用自定义域测试应用程序或运行使用相同后端的多前端的任何人。您将能够使用 cookie、会话测试您的应用程序,并避免 CORS "同源" 问题。
安装
只需将 dex/frontier
安装到您的 Laravel 应用程序中,并配置一些 环境变量。
composer require dex/frontier
环境变量
您可以使用以下描述的环境变量配置您的客户端。
客户端类型
您可以使用 3 种不同的客户端类型 http
、proxy
或 view
。
HTTP
在 FRONTIER_VIEW
中使用您的前端服务器 URL。
代理
在 FRONTIER_PROXY_HOST
或 FRONTIER_VIEW
中使用您的前端服务器 URL。
FRONTIER_VIEW
将在未来被移除。
视图
在 FRONTIER_VIEW
中使用您初始化前端视图的名称,这是相对于 Blade 视图。
示例
Vite 和 Vue.js
当使用 Vite 和 Vue.js 时,您可以使用这些环境变量通过 http
方法启动项目。
FRONTIER_ENDPOINT=/vue FRONTIER_TYPE=http FRONTIER_VIEW=https://:5173/ FRONTIER_FIND=/@vite/client,/src/main.ts,/vite.svg FRONTIER_REPLACE_WITH=https://:5173/@vite/client,https://:5173/src/main.ts,https://:5173/vite.svg FRONTIER_PROXY=/vite.svg FRONTIER_CACHE=false
Nuxt.js
当使用 Nuxt 时,您可以使用这些环境变量通过 proxy
方法启动项目。
FRONTIER_PROXY_HOST=https://:3000 FRONTIER_PROXY_RULES=/_vfs.json::exact|/favicon.ico::exact::rewrite(/favicon.ico)|/__nuxt_devtools__/client/_nuxt/builds/meta|/__nuxt_devtools__/client::replace(/__nuxt_devtools__/client/_nuxt/)|/_nuxt|/_fonts|/::replace(/_nuxt/)
多个前端
您可以运行多个前端,只需创建一个自定义配置文件。
php artisan vendor:publish --tag=frontier
在您的 Laravel 应用程序中创建 config/frontier.php
文件。此文件包含一些设置,可以复制以向您的应用程序添加更多前端。