如何权衡 Blade 和 VueJS ?
5

一直都卡在 VueJSBlade 的联合使用的情况下。

按说 VueJS 已经搞定了几乎所有的 页面渲染,Blade 理论上渲染一个页面就可以了。

但是看诸位大佬的源码一直都是 BladeVueJS 一起用。

说下我自己的想法吧:

在 Vue 和 Blade 一起用的时候,
页面的模板写在 .vue 文件内,laravel 主要通过 web.php 渲染一个首页,剩下的请求通过 api.php 返回JSON数据即可。

但是看了各位开源的代码,似乎都不是我这样想的,不知道有没有大佬愿意出来解惑?

希望得到的解答:

  1. 正确的用法?
  2. 现有的用法为什么这样写
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 17

这个问题目前也是我最迷惑的,我来顶贴:point_up:

1年前
leo

前后端分离很火,但不代表一定比传统后端渲染要好,个人是比较偏向二者混合

1年前

大部分开发,基本上phper都兼任了前端一部分工作。用php来渲染数据,可以达到最佳的生产效率。
完全追求前后端分离,可以达到最好的用户体验,但是生产效率上不去呀!!

1年前
bestony

@leo 那混合的部分,哪些部分应该有vue来完成,哪些是blade完成呢?

1年前
bestony

@jobsssss 确实,从我自己的角度来看,服务端渲染是更好的选择。不过目前是想学习 VueJS,所以想了解下如何在 Laravel使用。

1年前
leo

@jobsssss 前后端分离未必会降低PHP程序员的开发效率

@bestony 前后端分离一般用在交互比较多的地方,比如管理后台的各种表单。而纯展示页我一般就用后端渲染。

1年前
bestony

@leo 好的。谢谢。我举个例子,您看是不是这样。我们假设要做一个后台项目。左侧的菜单栏和顶部的顶栏使用默认的balde渲染,页面的列表、表单、采用 vuejs 渲染?

1年前
leo

@bestony 机智

1年前

我就是把所有非API的路由全部都指向渲染首页的路由上

1年前

@leo 想请教一下,在blade中使用vue组件,后台返回整个html给浏览器后,这个vue组件才开始在浏览器渲染的对吧?

10个月前
leo

@huanghongkai 是的

10个月前

好的,谢谢你的回答,因为我一开始写的是前端,接触的就是前后端分离,有一种前后端就必须分离的先入为主的观念。后来看了laravel,发现里面有vue有jquery有blade,实在让我很纠结哈哈哈。现在感觉比较清晰了,不就是在服务器渲染好直接返回给浏览器 和 ajax拿到数据后让浏览器渲染的区别么~

10个月前

Vue 是一个工具,用于裸写 jQuery 复杂度太高的地方。

10个月前

时间、精力足够的情况下,建议以实践前后端分离为主,列举几个我能想到的优点:

  1. laravel 是很好但是你也不一定会用一辈子,后端以后哪怕以后不用 laravel ,业务升级要用其他框架、语言,前端仍然可以不受影响。
  2. webpack 提供的完善的自动构建流程能够实现灵活的前端文件的拆分,增加 hash 彻底解决升级时的缓存问题。
  3. 后端只提供接口也会让测试变得简单,至少肯定比测试页面交互简单多了。
  4. 开发协作也更加便利,前后端工程师只需要部署自己熟悉的开发环境就可以开始开发,招人不用非要局限于熟悉 PHP 同时还熟悉 JS。
10个月前

如果不考虑 seo 的话,我是更倾向于前后分离,这样开发效率高而且代码结构也比较清晰

4周前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!