dex/frontier

您的 Laravel 应用与解耦的前端之间的边界

0.14.0 2024-09-09 13:00 UTC

This package is auto-updated.

Last update: 2024-09-09 13:01:16 UTC


README

Tests License

您的 Laravel 应用与解耦的前端之间的 Laravel 边界。

Frontier 允许您运行您最喜欢的客户端框架,并通过后端以代理的形式提供初始页面。

非常适合使用自定义域测试应用程序或运行使用相同后端的多前端的任何人。您将能够使用 cookie、会话测试您的应用程序,并避免 CORS "同源" 问题。

安装

只需将 dex/frontier 安装到您的 Laravel 应用程序中,并配置一些 环境变量

composer require dex/frontier

环境变量

您可以使用以下描述的环境变量配置您的客户端。

客户端类型

您可以使用 3 种不同的客户端类型 httpproxyview

HTTP

FRONTIER_VIEW 中使用您的前端服务器 URL。

代理

FRONTIER_PROXY_HOSTFRONTIER_VIEW 中使用您的前端服务器 URL。

FRONTIER_VIEW 将在未来被移除。

视图

FRONTIER_VIEW 中使用您初始化前端视图的名称,这是相对于 Blade 视图。

示例

Vite 和 Vue.js

当使用 ViteVue.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 文件。此文件包含一些设置,可以复制以向您的应用程序添加更多前端。

许可证

Frontier 依据 MIT 许可证授权。有关更多详细信息,请参阅 许可证文件