如何利⽤vue和php做前后端分离开发?
新⼿上路,前端⼯程师,刚毕业参加⼯作两个⽉,上⾯让我⽤vue搭建环境和php⼯程师⼀起开发,做前后端分离,然⽽我只⽤过简单的vue 做⼀些⼩组件的经验,完全不知道怎样和php⼯程师配合,ps: php那边⽤的是think5 ,我要如何把vue嵌套进去?我这两天查资料加学习发现vue-cli有它⾃⼰的逻辑⽬录,现在整个⼈很懵逼,可能对于⼀些有个三五年经验的⼯程师来说,之只是⼀个⼩问题,但是困扰了我好久,最后总结⼀下问题,1.如何⽤vue搭建环境和php⼯程师做前后端分离开发,2能搭建⼀个给我看看么!
以前是写PHP的,转前端两年了吧~以前写Laravel⽐较多,先后在百度、⼤疆实习,总结⼀下,不知道对你有没有帮助。Blade下的Vue
包括Laravel在内的主流PHP框架都是MVC架构的,在视图层通常都有⾃⼰的模板引擎。所以在⼤⼀⼊门的时候我⼀般是这样写的。
编写⼀个Laravel的模板⽂件,传进来PHP的变量并渲染。
<html>
<body>
<h1>{{ $hello }}</h1>
</body>
</html>
通过script标签引⼊Vue,然后在标签内写vue的逻辑。
<script src="js/vue.min.js"></script>
配合axios这些ajax库,前端就可以只写在resources/views⽂件夹⾥,不⽤管其他的了。
构建⼯具下的Vue
后来觉得没有NPM和Node实在太不⽅便了,于是单独建⽴了前端页⾯的⽂件夹,编译到resources/views⽂件夹⾥,不过不久之后Laravel就提供了⼀体化的构建⼯具。
Laravel Mix提供了⼀个管道,可以流式编译CSS和JS。
mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css');
类似于Gulp,也是在Node上⾯跑起来的。
npm install
npm run dev
npm run production
在app.js⾥⾯注册组件。
// app.js
Vueponent('example', require('./components/Example.vue'));
然后就可以直接写在PHP的模板⾥⾯了。
如何搭建php开发环境@extends('layouts.app')
@section('content')
<example></example> // 这⾥是使⽤vue组件的
@endsection
其实原理还是和之前⼿动编译的⼀样,先通过webpack翻译组件,⽣成正常的PHP模板,给PHP调⽤。
分离与转发
再后来,前端和后端项⽬在⼀台服务器,⼀个⽂件夹⾥,太窝囊了,也不利于扩展。因此,⼤家开始使⽤Node转发。
这⾥后端的⼯作⼀般是:
编写Lumen代码,提供服务
写好Restful的API⽂档
⽤postman进⾏测试
前端的⼯作⼀般是:
编写Vue代码
打包编译
使⽤Node转发API请求,解决跨域问题
使⽤PM2处理并发请求
结束
现在写JS⽐较多了,发现中间层⽤Koa、express也不错,所以好久都没有⽤PHP了。现在⼯作中⼤部分都是CMS的业务,后端JAVA⽐较多,前端就直接转发了JAVA的接⼝。就这样吧,希望对你有所帮助咯,以上。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论