请问 Laravel 和 Vue 如何能优雅的结合?

之前一直用 iView 配合 Laravel,用了好几年了,一直是我们项目标配,但是也有一些问题。
首先需要比较专业好点的前端才能搞定(咱们 8 线城市,招好前端比较难)
如果系统做的很大,到时候前端的维护也是一个麻烦事情。各种组件套来套去,还有就是菜单、路由、权限这些东西比较头疼

今天尝试用了传统的 xadmin 去做新的项目,发现真的写不下去。。。
习惯了数据模型的处理方式,现在再用 jQuery 这种方式,竟然写不了前端代码了
如果混合这 Vue 来用,把 Vue 当成一个小框架来做也可以,写在页面里面。但是有几个问题,就是页面不能被 webpack 打包,导致了 promise 等一些新语法都不敢使用、每次加载 JS 重新渲染比较慢

目前正在开发一个进销存系统,项目可能比较大,所以不打算做成 SPA、但是又得用 Vue

大家可以讨论下,如何优雅的结合,既开发快,维护方面,写起来也不操蛋

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 5

Laravel 和 Vue 可以搜索社区帖子。

但是有几个问题,就是页面不能被 webpack 打包,导致了 promise 等一些新语法都不敢使用、每次加载 JS 重新渲染比较慢

你说的这几个问题好像都不存在。

5年前 评论
pslxx (楼主) 5年前
小李世界 (作者) 5年前
zhsh0429

目前我们创业团队的解决方案 (非 SPA) 是 Vue 组件分两种:Parents(不复用)和 Components(复用的组件)。全局注册 Parents 然后在 Blade 模版中直接引用 Parents。在 Parents 里引用 Components。也想看看大家有没有其他更好的解决方案,欢迎交流。

5年前 评论
pslxx (楼主) 5年前
zhsh0429 (作者) 5年前

不确定这个优雅结合是咋么理解,我觉得如果只是在所有 blade 代码里只留下了一行 Vue 组件的引用(可能是你们说的全局注册的 Parents,或者整个功能块打包后的一个组件),完全不会用到其他 blade 的语法,那我觉得这种应该算不上是优雅结合吧,只能说是在用 blade 打包一遍 Vue 的页面而已。我理解的结合是在使用传统 Blade 魔板处理业务(前提这是一个非 SPA 项目)时,发现部分局部交互需要异步处理、或使用 Vue 的组件有额外优势时,考虑嵌入 Vue 的组件。我觉得所谓的优雅结合应该很好的把握了这个使用 Vue 组件的度,可能一个 Blade 文件有 100 行传统 Blade 语法,一行引用了一个 Vue 的小组件,这仍然可能是一个优雅的结合。

还有关于 能把blade模板放到webpack里打包吗? 这个问题,我觉得是不是用 Vue 的 inline-template 机制可以解决你的问题。组件可在外部定义,但内容仍可用 Blade 预调节。

// example.blade
<vue-component inline-template>
    @if (true)
        <p>可任意使用Blade语法</p>
    @endif
</vue-component>
5年前 评论

Vue 很优雅,Laravel 很优雅,结合在一起就不优雅了,为什么一定要结合在一起呢?

5年前 评论

肯定有办法,而且也有人知道怎吗解决,甚至可能很容易被解决,可能是描述的还不够骚,吸引不来大佬的阅读时间。

5年前 评论