laravel - Web 开发堆栈 - GONE WILD --- 最佳实践架构和部署?
问题描述
我遇到了一个问题,我确信许多新/初级 Web 开发人员都面临着这个问题。在我陈述问题之前,最好先列出将我引向“问题”的事件。
第 1 步 - 前端:我遵循了允许我使用 vue-cli 创建 Vue 项目的教程 - 我现在准备好了一个不错的前端,尽管它在某种程度上是“独立的”。它位于自己的目录中。
第 2 步 - 后端:我继续前进,我开始查看后端。Laravel 与 Vue 配合得很好,所以我选择了它。我再次按照教程,创建了一个数据库和一个 API。极好的。
我现在有了 CRUD 应用程序的准系统核心元素。但是,后端和前端的连接方式似乎很复杂(尽管这可能是由于我的经验不足和理解不当造成的)。
解决方案 1:一些教程坚持认为 Vue 项目是在 Laravel 目录中“重新创建”的,因此 Laravel 负责渲染视图。
解决方案 2:其他的,据我所知,让它们在物理上分开,并让前端仅与 Laravel API 交互。
堆栈架构的最佳实践是什么?我们是否应该按照解决方案 1 中的建议将堆栈捆绑在一起?解决方案2甚至可能还是由于我的误解?如果是,如何处理部署?
解决方案
根据我的经验,两者都是正确的,答案取决于您要构建的内容
首先,如果你有一个简单的网站,你想用vue做前端,而且只有这一个网站,你可以把它们放在一起,用vue做前端,后端由laravel处理你就完成了。
其次,更进一步,对于这种情况,您可以为您的项目设置多个前端。示例:您有一个网站和几个(本地或通用)应用程序来显示您的数据。在这种情况下,您可以构建一个 API,它处理所有的逻辑、所有的商业机密以及这些没有人应该详细了解的东西。之后,您可以自由构建任何您喜欢的前端(Vue、本机、纯 HTML),唯一的目的是显示 API 返回的数据(其中包含一些小逻辑,原因是,但秘密业务逻辑隐藏在 API 中)。您甚至可以外包应用程序的生成,因此您在 Vue 中构建网站前端,另一个可以使用 swift 构建 ios-app 或使用 kotlin 构建 android 应用程序。
希望你明白了,答案通常是:这取决于
推荐阅读
- c# - 在 ASP.Net Core 文档中使用 AsNoTracking
- gcc - GNU make 首先生成程序集,然后将它们编译为 .o 并链接
- ios - MTAudioProcessingTap EXC_BAD_ACCESS ,并不总是触发 finalize 回调。如何释放它?
- java - 过滤按属性区分并按日期排序的列表的好方法
- reactjs - 处理组件内的本地状态和 Redux 状态
- python - 由于 mysqlclient,Airflow extra Packages 安装失败
- python - 来自底图的静态城市地图
- python - 遍历 ndarray 的某些(但不是全部)维度
- java - map() 方法的通配符泛型
- ios - iOS:启动和登录后的空白屏幕